Zum Hauptinhalt springen
Docker Compose

Ein Human-Plugin-Container auf einem Host, verbunden mit Ihrer PostgreSQL-Datenbank.

Markdown

Voraussetzungen​

  • Docker Engine 24 oder neuer mit Docker Compose v2.
  • Eine PostgreSQL-Datenbank, die ausschließlich Human Plugin vorbehalten und vom Host aus erreichbar ist. Siehe Voraussetzungen und Zugang.
  • Die Registry-Zugangsdaten und der Zugriffsschlüssel von Unico.

1. Bei der Registry anmelden​

Einmal pro Host. Docker speichert die Zugangsdaten in ~/.docker/config.json.

echo "<token>" | docker login pkg.unico.run -u <username> --password-stdin

2. Einstellungen schreiben​

Erstellen Sie ein Verzeichnis für Human Plugin und eine .env-Datei, die nur vom Eigentümer lesbar ist:

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

Fügen Sie POSTGRES_ADDRESS_PORT, POSTGRES_DATABASE oder POSTGRES_SSL_MODE nur hinzu, wenn Ihre Datenbank von den Standardwerten in Konfiguration abweicht. Committen Sie die .env-Datei niemals.

3. compose.yaml schreiben​

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: Veröffentlichen Sie nur auf 127.0.0.1 oder einer privaten Schnittstelle, niemals auf 0.0.0.0. Human Plugin hat keine eigene Authentifizierung: siehe Netzwerk und Sicherheit.
  • stop_grace_period: 60s: Human Plugin wartet beim Stoppen bis zu 55 Sekunden auf laufende Anfragen. Eine kürzere Karenzzeit kann ein create abbrechen.
  • pull_policy: always: Jedes up prüft auf das neueste Image, sodass Sie immer das aktuellste Release betreiben.

4. Starten​

docker compose up -d
curl --fail http://127.0.0.1:8080/health/ready

Leiten Sie Datenverkehr erst dann an Human Plugin, wenn /health/ready mit 200 antwortet. Führen Sie anschließend die create-Anfrage aus dem Quickstart dagegen aus.

Logs und Status​

docker compose ps
docker compose logs -f human-plugin

Ein gesunder Start endet mit der Zeile human plugin listening. Das vollständige Start-Log finden Sie unter Health und Monitoring. Wenn der Container in einer Schleife neu startet, nennt das Log den Grund: siehe Fehlerbehebung.

Aktualisieren​

docker compose pull && docker compose up -d

Compose ersetzt den Container nur, wenn sich das Image geändert hat. Was Sie nach einem Update prüfen sollten, steht unter Betrieb.

Stoppen​

docker compose down

Ihre Daten liegen in Ihrer PostgreSQL-Datenbank, daher geht beim Stoppen oder Entfernen des Containers nichts verloren.