Docker Compose
1台のホスト上で 動作する1つの Human Plugin コンテナを、お客様の PostgreSQL データベースに接続します。
前提条件
- Docker Engine 24 以降と Docker Compose v2。
- Human Plugin 専用で、ホストから到達可能な PostgreSQL データベース。前提条件とアクセスを参照してください。
- Unico から提供されるレジストリの認証情報とアクセスキー。
1. レジストリにログインする
ホストごとに一度だけ実行します。Docker は認証情報を ~/.docker/config.json に保存します。
echo "<token>" | docker login pkg.unico.run -u <username> --password-stdin
2. 設定を書く
Human Plugin 用のディレクトリを作成し、所有者のみが読み取れる .env ファイルを作成します。
mkdir -p /opt/human-plugin && cd /opt/human-plugin
.env
HUMAN_API_ACCESS_KEY=<your access key>
POSTGRES_ADDRESS_HOST=<database host>
POSTGRES_USER=human_plugin
POSTGRES_PASSWORD=<database password>
chmod 600 .env
POSTGRES_ADDRESS_PORT、POSTGRES_DATABASE、POSTGRES_SSL_MODE は、お使いのデータベースが設定のデフォルト値と異なる場合にのみ追加してください。.env ファイルは決してコミットしないでください。
3. compose.yaml を書く
compose.yaml
services:
human-plugin:
image: pkg.unico.run/human-plugin-api:latest
pull_policy: always
restart: unless-stopped
stop_grace_period: 60s
env_file: .env
ports:
- "127.0.0.1:8080:8080"
ports:127.0.0.1またはプライベートインターフェースでのみ公開し、0.0.0.0では決して公開しないでください。Human Plugin には独自の認証機能がありません。ネットワークとセキュリティを参照してください。stop_grace_period: 60s: Human Plugin は、停止時に処理中のリクエストを最大55秒待ちます。猶予期間がこれより短いと、作成処理が途中で打ち切られる場合があります。pull_policy: always:upのたびに最新のイメージを確認するため、常に最新リリースを実行できます。
4. 起動する
docker compose up -d
curl --fail http://127.0.0.1:8080/health/ready
/health/ready が 200 を返してから、Human Plugin にトラフィックをルーティングしてください。その後、クイックスタートの作成リクエストを実行します。
ログとステータス
docker compose ps
docker compose logs -f human-plugin
正常な起動は human plugin listening の行で終わります。起動ログの全体はヘルスとモニタリングを参照してください。コンテナが再起動を繰り返す場合、ログに理由が記載されています。トラブルシューティングを参照してください。