الإعداد
الإعداد العام للمستضاف ذاتيا هو الملف المودع
cto-gui/docker-compose.self-hosted.yml إضافة إلى الإعدادات التي يقرأها
cto-gui-libvirt-backend. توثّق هذه الصفحة سطح التقييم ذلك. ولا تخترع عقد بيئة مؤسسية عاما.
عقد Compose
| الإعداد | القيمة المودعة | الغرض |
|---|---|---|
SELF_HOSTED | true | اختيار وضع اللوحة المحلية وتعطيل المسارات المعتمدة على السحابة |
KVM_URI | qemu:///system | الاتصال بخادم libvirt على نظام المضيف |
TEST_STORAGE_DIR | /app/data/tests | الاحتفاظ بحالة الاختبار والأقفال وسجلات التنظيف في cto-data |
SOURCE_ISO_DIR | مسار ISO المصدر على المضيف | حل مخرجات المصدر للقراءة فقط على المسار المطلق نفسه الظاهر لـ libvirt على المضيف |
SOURCE_GOLDEN_IMAGE_DIR | مسار الصورة المرقّاة على المضيف | حل مدخلات QCOW2 المثبتة غير القابلة للتغيير على المسار المطلق نفسه الظاهر لـ libvirt على المضيف |
TRUST_PROXY_HEADERS | true في ملف Compose | السماح بمعلومات العميل المشتقة من الوكيل وفق قواعد الوكيل الموثوق في الخلفية |
يفترض الخلفية أيضا رفع ISO إلى /var/lib/libvirt/images ويحد الرفع إلى 10 GB ما لم يُغيَّر إعداد الخلفية عمدا.
تجاوزات مسار المضيف
يؤثر متغيرا بيئة shell على ربطات Compose:
export SOURCE_ISO_HOST_DIR=/srv/openfactory/source-isos
export SOURCE_GOLDEN_IMAGE_HOST_DIR=/srv/openfactory/golden-images
docker compose -f docker-compose.self-hosted.yml up --build -dأنشئ تلك المجلدات وعيّن صلاحياتها أولا. يُحافظ على مسار الحاوية مطابقا لمسار المضيف لأن libvirt على المضيف، لا الحاوية، يفتح ملفات الصور لـ QEMU. مسار يوجد داخل الحاوية فقط سيفشل عند إطلاق الضيف.
بيانات دائمة وغير دائمة
| الموقع | الملكية ودورة الحياة |
|---|---|
/var/lib/libvirt/images | ملفات ISO المرفوعة وأقراص الضيوف وطبقات التراكب التي يديرها المضيف |
| مجلد ISO المصدر | يديره المشغّل، موصول للقراءة فقط |
| مجلد الصورة الذهبية | مدخلات غير قابلة للتغيير رقّاها المشغّل، موصولة للقراءة فقط |
الحجم المسمى cto-data | حالة الخلفية بما فيها سجلات الاختبار وسجلات التنظيف |
| نظام ملفات الحاوية خارج الربطات | قابل للتصرف؛ لا تعتمد عليه للاستعادة |
انسخ احتياطيا أو التقط لقطة فقط بعد تحديد الموارد التي يجب الاحتفاظ بها. ملف Compose لا يجدول نسخا احتياطيا.
التعرض وإعدادات الوكيل
تربط الواجهة المنفذ 80 على المضيف. TRUST_PROXY_HEADERS لا يوفّر TLS ولا مصادقة؛ يغيّر فقط كيف تقبل الخلفية بيانات الاتصال الممرَّرة من نطاقات وكيل موثوقة صراحة. إذا أضفت وكيلا عكسيا، اضبط مسار شبكته والوكلاء الموثوقين بضيق وتحقق من رفض ترويسات التمرير المزيفة من أطراف غير موثوقة.
لا تضع لوحة التقييم مباشرة على الإنترنت العام. تصميم الهوية وTLS والأسرار والتفويض للإنتاج قرار نشر منفصل.
تحقق من كل تغيير
بعد تغيير المسارات أو الإعدادات:
- أعد إنشاء الحاوية المتأثرة؛
- تحقق من
self_hosted: trueعبر نقطة وضع التشغيل؛ - ارفع ISO قابلا للتصرف وأطلقه؛
- أوقف الضيف واحذفه؛
- أعد تشغيل المجموعة وأكّد بقاء حالة التنظيف والجرد.