メインコンテンツへスキップ
Docker Compose

1台のホスト上で動作する1つの Human Plugin コンテナを、お客様の PostgreSQL データベースに接続します。

Markdown

前提条件​

  • 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 の行で終わります。起動ログの全体はヘルスとモニタリングを参照してください。コンテナが再起動を繰り返す場合、ログに理由が記載されています。トラブルシューティングを参照してください。

更新​

docker compose pull && docker compose up -d

Compose は、イメージが変更された場合にのみコンテナを置き換えます。更新後に確認すべき内容は運用を参照してください。

停止​

docker compose down

データはお客様の PostgreSQL データベースにあるため、コンテナを停止または削除しても何も失われません。