Docker Compose
한 호스트에서 실행되는 하나의 Human Plugin 컨테이너를 고객의 PostgreSQL 데이터베이스에 연결합니다.
사전 요구 사항
- Docker Compose v2가 포함된 Docker Engine 24 이상.
- 호스트에서 접근할 수 있는, 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으로 트래픽을 라우팅하세요. 그런 다음 빠른 시작의 생성 요청을 실행해 보세요.