Перейти к основному содержимому
Docker Compose

Один контейнер Human Plugin на одном хосте, подключённый к вашей базе данных PostgreSQL.

Markdown

Требования​

  • Docker Engine 24 или новее с Docker Compose v2.
  • База данных PostgreSQL, выделенная для Human Plugin и доступная с хоста. См. Требования и доступ.
  • Учётные данные реестра и ключ доступа от 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

Направляйте трафик в Human Plugin только после того, как /health/ready ответит 200. Затем выполните к нему запрос на создание из Быстрого старта.

Логи и состояние​

docker compose ps
docker compose logs -f human-plugin

Успешный запуск заканчивается строкой human plugin listening. Полный лог запуска см. в разделе Работоспособность и мониторинг. Если контейнер перезапускается в цикле, причина указана в логе: см. Устранение неполадок.

Обновление​

docker compose pull && docker compose up -d

Compose заменяет контейнер только если образ изменился. О том, что проверить после обновления, см. Эксплуатация.

Остановка​

docker compose down

Ваши данные находятся в вашей базе данных PostgreSQL, поэтому остановка или удаление контейнера ничего не теряет.