الاستضافة الذاتية
شغّلوا لوحة التحكم وبوابة الوكلاء وPostgreSQL وNATS على خادم Linux واحد باستخدام Docker Compose، حتى في موقع بلا إنترنت.
يشغّل التثبيت داخل بيئة العميل لوحة التحكم وبوابة الوكلاء وPostgreSQL وNATS على خادم Linux واحد باستخدام Docker Compose، ومن الصور نفسها المستخدمة في الخدمة المستضافة. يسلّمكم فريق التسليم حزمة الإصدار ووسوم الصور المتوافقة معاً والترخيص. وهذه هي الخطوات التي ينفّذها دليل الحزمة نفسه.
تستخدم عمليات النشر داخل بيئة العميل إعدادات نشر مُجهّزة. ويتطلب النشر دون اتصال حزمة مقبولة ونموذجاً محلياً واختبارات تثبيت في بيئة معزولة.
ما تحتاجونه
- Linux مع Docker Engine بإصدار 24 أو أحدث وإضافة Compose (
docker compose version). - 4 معالجات و8 جيجابايت ذاكرة و40 جيجابايت تخزين.
- المنفذان 443 و80 متاحان على الخادم، وتصل إليه الأجهزة المُدارة على المنفذ 443.
- اسم DNS أو عنوان IP للمتغير
ACT_HOSTNAMEيصل إليه الأشخاص والأجهزة.
التثبيت
في مجلد compose من الحزمة، انسخوا ملف الإعدادات النموذجي، واضبطوا ACT_HOSTNAME، ثم شغّلوا المنظومة:
cd compose
cp .env.example .env # set ACT_HOSTNAME
docker compose up -d --wait
docker compose logs control-plane | grep -A4 "FIRST-BOOT ADMIN"
تُولَّد الأسرار (مفتاح الجلسة، وكلمة مرور قاعدة البيانات، ورمز البوابة، ومفتاح التشفير) عند أول تشغيل في وحدة التخزين secrets، ولا تُكتب أبداً في .env. يطبع الأمر الأخير كلمة مرور المسؤول الأول مرة واحدة. افتحوا https://<ACT_HOSTNAME>، وسجّلوا الدخول بالبريد ACT_ADMIN_EMAIL وتلك الكلمة، ثم غيّروها.
دون وصول إلى سجل الصور
الصور في سجل صور خاص. يأتي الإصدار إما مع رمز قراءة لهذا السجل، أو مع أرشيف للصور وبصمة SHA-256 الخاصة به. مع الأرشيف:
sha256sum -c actree-selfhost-<version>-images.tar.sha256
docker load -i actree-selfhost-<version>-images.tar
docker compose up -d --wait
الإعدادات في .env
ACT_HOSTNAME: اسم DNS أو عنوان IP الذي يستخدمه الأشخاص والأجهزة.ACT_TLS_MODE:internal(الافتراضي؛ جهة إصدار الشهادات الخاصة بـ Caddy، وتحذّر منها المتصفحات حتى تثقوا بها)، أوbyo(ملفاtls.crtوtls.keyالخاصان بكم فيcompose/certs/؛ ومن جهة إصدار خاصة أضيفوا أيضاًca.crtمعACT_CONTROL_CA_FILE=/certs/ca.crt)، أوacme(شهادة عامة من Let’s Encrypt؛ تحتاج اسم DNS عاماً والمنفذين 80 و443 متاحين).ACT_LICENCE_KEY: المفتاح من صفحة التراخيص في البوابة. ويتركه الموقع الذي بلا إنترنت فارغاً ويثبّت بدلاً منه ملف ترخيص موقّعاً (أدناه).ACT_NEW_HOST_EXEC_MODE:auto(الافتراضي؛ تبدأ الأجهزة الجديدة في المراجعة الآلية بسياسة القراءة فقط) أوdeny(يُرفض كل أمر حتى يختار أحدهم وضعاً في صفحة الأجهزة).ACT_HTTPS_PORT: منفذ غير 443، مع ضبطACT_PUBLIC_URLوACT_GATEWAY_PUBLIC_URLبما يوافقه.
تسجيل الأجهزة
في لوحة التحكم، تعطيكم صفحة الأجهزة ثم أضف جهازًا أمر التثبيت نفسه المكوّن من سطر واحد والمستخدم في الخدمة المستضافة، موجّهاً إلى خادمكم. ومع الشهادة الداخلية الافتراضية، زوّدوا الجهاز بشهادة جهة الإصدار الخاصة بخادمكم للتنزيل الأول؛ ثم يثبّتها الوكيل بنفسه:
# on the server
docker compose exec -T caddy cat /data/caddy/pki/authorities/local/root.crt > actree-ca.crt
# on the host, with actree-ca.crt copied over and the token from Hosts > Add a host
curl -fsSL --cacert actree-ca.crt https://<ACT_HOSTNAME>/api/v1/fleet/agent/install.sh \
| sudo ACT_CA_FILE="$PWD/actree-ca.crt" bash -s -- --token <token>
النماذج
أضيفوا نموذجاً من صفحة النماذج في إعدادات لوحة التحكم: Ollama أو vLLM محلياً، أو أي نقطة اتصال متوافقة مع OpenAI تصل إليها شبكتكم.
اربط نموذجك عبر نقاط اتصال متوافقة مع OpenAI أو Ollama أو Anthropic أو Cloudflare AI Gateway / Workers AI — مع تشفير المفاتيح تشفيراً مغلّفاً أثناء التخزين.
بلا إنترنت
يتبادل الموقع الذي بلا إنترنت ملفات موقّعة مع AcTree، ينقلها شخص:
- الترخيص: نزّلوا ملف الترخيص المعزول من صفحة التراخيص في البوابة. وفي لوحة التحكم افتحوا الإعدادات ثم الترخيص، واختاروا هذا النشر بلا إنترنت وثبّتوه.
- الإصدارات وحزم الوكيل: نزّلوا الحزمة غير المتصلة من صفحة البوابة نفسها، ثم استخدموا طبّق حزمة ضمن التحديثات والتقارير دون اتصال في إعدادات الترخيص في لوحة التحكم.
- الاستخدام: اختاروا أنشئ تقرير الاستخدام من المكان نفسه، وارفعوه إلى البوابة متى أمكنكم.
ويحتاج الموقع أيضاً إلى نموذج محلي.
الترقية والنسخ الاحتياطي
# Upgrade: set the new image tags in .env, then
docker compose pull && docker compose up -d --wait
# Backup: the database (keep the pgdata, secrets and state volumes with it)
docker compose exec postgres pg_dumpall -U actree > actree-backup.sql
تُرحّل لوحة التحكم قاعدة بياناتها عند بدء التشغيل. انسخوا وحدات التخزين pgdata وsecrets وstate معاً احتياطياً؛ تحمل وحدة secrets مفاتيح التشفير، فاحموا النسخ الاحتياطية مثل بيانات الاعتماد.