الانتقال إلى المحتوى الرئيسي
Docker Compose

حاوية Human Plugin واحدة على مضيف واحد، متصلة بقاعدة بيانات PostgreSQL الخاصة بك.

Markdown

المتطلبات المسبقة​

  • Docker Engine الإصدار 24 أو أحدث مع Docker Compose v2.
  • قاعدة بيانات PostgreSQL مخصصة لـ Human Plugin ويمكن الوصول إليها من المضيف. راجع المتطلبات المسبقة والوصول.
  • بيانات اعتماد السجل (registry) ومفتاح الوصول من 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 الخاصة بك، لذا لا يؤدي إيقاف الحاوية أو إزالتها إلى فقدان أي شيء.