لماذا تستضيف ComfyUI ذاتيًا على خادم VPS
ينظّم ComfyUI توليد الصور في رسوم بيانية من العُقَد: كل خطوة (تحميل النموذج، وترميز الموجِّه (prompt)، وأخذ العينات، وVAE) هي كتلة قابلة للربط وإعادة الاستخدام، مما يجعل مسارات العمل قابلة للتكرار والمشاركة بصيغة JSON. وخلافًا لخدمة توليد عبر الإنترنت، تمنحك الاستضافة الذاتية التحكّم في نماذج checkpoints وLoRA وControlNet والإضافات، دون رقابة أو حصص. وعلى خادم VPS مزوَّد بوحدة GPU، تحصل على استوديو متاح على مدار الساعة يمكن لفريق إبداعي بأكمله استخدامه عن بُعد، وتتيح واجهته البرمجية أتمتة التوليد على نطاق صناعي انطلاقًا من سكربتاتك أو خطوط معالجتك الخاصة.
الفوائد الملموسة للاستضافة الذاتية
- مسارات عمل عُقدية قابلة للتكرار، قابلة للتصدير بصيغة JSON وللمشاركة داخل الفريق
- مكتبة حرة من نقاط التحقق (checkpoints) وLoRA وControlNet دون حصة أو رقابة
- واجهة HTTP API لأتمتة التوليد انطلاقًا من سكربتاتك وخطوط معالجتك
- وحدة GPU بعيدة متاحة على مدار الساعة دون احتكار جهاز محلي
- تثبيت العُقَد المخصصة (custom nodes) (إضافات المجتمع) دون قيود
- التحكّم في التكاليف: خادم VPS بوحدة GPU بالساعة أو بالشهر بدل الدفع لكل صورة
المتطلبات بالأرقام حسب سيناريو الاستخدام
يعتمد التحجيم مباشرةً على وضع التنفيذ المختار والنماذج المستهدفة. في وضع CPU (بطيء، للاختبار والنمذجة الأولية)، يكفي خادم VPS بـ 4 vCPU و8 GB من ذاكرة RAM لتحميل نقطة تحقق SDXL، لكن توقع عدة دقائق لكل صورة. في وضع GPU، الاختناق هو ذاكرة VRAM: تسمح 8 GB من VRAM الخاصة بـ NVIDIA بتشغيل SDXL بدقة fp16 بفضل الإدارة الديناميكية لذاكرة VRAM (DynamicVRAM)، المفعّلة افتراضيًا على وحدات GPU من NVIDIA مع PyTorch 2.8 أو أحدث؛ ويُوصى بـ 12 إلى 16 GB من VRAM لنموذج Flux.1 بدقة كاملة. للتخزين: تزن نقطة تحقق SDXL نحو 6 إلى 7 GB، أما Flux.1 schnell (بدقة كاملة) فيبلغ 23,8 GB، وبصيغة fp8 يبلغ 17,2 GB. خطّط لـ 50 GB على الأقل من SSD، ويُستحسن 100 GB إن كنت تنوي تخزين عدة نماذج مع LoRA المرتبطة بها. يجب أن تكون ذاكرة RAM النظامية 16 GB على الأقل عند تفعيل الإفراغ من GPU إلى RAM.
الحد الأدنى من الموارد حسب السيناريو
مرّر الجدول أفقيًا
| السيناريو | vCPU | RAM | VRAM | القرص |
|---|---|---|---|---|
| اختبار CPU (SDXL، بطيء) | 4 | 8 GB | — (بدون GPU) | 50 GB |
| GPU SDXL مريح | 4 | 16 GB | 8 GB NVIDIA | 80 GB |
| GPU Flux.1 (موصى به) | 8 | 32 GB | 16 GB NVIDIA | 100 GB |
| إنتاج متعدد المستخدمين | 8+ | 32 GB+ | 24 GB NVIDIA | 200 GB+ |
طريقتا التثبيت: Docker مقابل Python venv
يمكن نشر ComfyUI بطريقتين: عبر Docker (عزل، قابلية إعادة الإنتاج، إدارة مبسّطة لاعتماديات GPU) أو عبر بيئة Python افتراضية (أقرب إلى الأجهزة مباشرةً، أكثر مرونة للعقد المخصصة التجريبية). على خادم VPS إنتاجي، يُوصى بـ Docker لسهولة الصيانة وعزل الإصدارات.
الطريقة أ — التثبيت عبر Python venv (وصول مباشر للأجهزة)
تثبيت اعتماديات النظام
على Ubuntu 24.04 (يوجد Python 3.12 في مستودعاته الرسمية، وليس في مستودعات 22.04):
apt update && apt install -y git python3.12 python3.12-venv python3-pip. يدعم ComfyUI الإصدارين 3.12 و3.13 من Python؛ الإصدار 3.13 مدعوم جيدًا جدًا، أما 3.14 فقد يسبب مشكلات توافق مع بعض العقد المخصصة.استنساخ المستودع وإنشاء venv
git clone https://github.com/Comfy-Org/ComfyUI.git /opt/comfyui && cd /opt/comfyui && python3.12 -m venv venv && source venv/bin/activate && pip install -r requirements.txtتثبيت PyTorch مع دعم CUDA أو CPU
لوحدة GPU من NVIDIA (CUDA):
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130(يشترط ComfyUI إصدار PyTorch مع CUDA 13.0 أو أحدث على وحدات GPU من NVIDIA من السلسلة 20 فما فوق). لوضع CPU فقط:pip install torch torchvision. الإصدار 2.7 من PyTorch هو الحد الأدنى المدعوم؛ يُوصى بشدة باستخدام إصدار أحدث.تشغيل ComfyUI
وضع GPU:
python main.py --listen 127.0.0.1. وضع CPU:python main.py --cpu --listen 127.0.0.1. مع --listen 127.0.0.1(القيمة الافتراضية)، لا يستمع ComfyUI إلا على واجهة الحلقة المحلية للخادم: وهذا يكفي لنفق SSH وللوكيل العكسي، ولا يُعرَض أي شيء دون مصادقة. الواجهة متاحة على المنفذ 8188.
الطريقة ب — النشر عبر Docker مع GPU
تحضير خادم VPS المزوَّد بـ GPU
على خادم VPS مزوَّد بوحدة GPU من NVIDIA، ثبّت التعريفات ثم NVIDIA Container Toolkit ليتمكّن Docker من الوصول إلى وحدة GPU. تحقّق بـ
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi.تشغيل ComfyUI في حاوية
شغّل صورة ComfyUI مع وصول إلى وحدة GPU وأحجام تخزين دائمة:
docker run -d --gpus all -p 127.0.0.1:8188:8188 -v /opt/comfyui/models:/opt/ComfyUI/models -v /opt/comfyui/output:/opt/ComfyUI/output --name comfyui ghcr.io/ai-dock/comfyui:latest-cuda. يتجنّب التقييد على 127.0.0.1 التعريض المباشر. اضبط وسم الصورة وفق إصدار CUDA في خادمك.التحقق من اكتشاف وحدة GPU
بعد الإقلاع:
docker logs comfyui | grep -i 'cuda\|gpu\|device'. يعرض ComfyUI عند الإقلاع الجهاز المحدد. إن رأيت Using CPU، فوحدة GPU غير متاحة من الحاوية — تحقق من NVIDIA Container Toolkit.
تنزيل النماذج من HuggingFace
تُنزَّل النماذج من HuggingFace باستخدام wget أو واجهة HuggingFace سطر الأوامر (pip install huggingface_hub). لكل نوع ملف مجلده المخصص في هيكل ComfyUI. لـ SDXL: ضع ملف .safetensors لنقطة التحقق في models/checkpoints/. لـ Flux.1: البنية مختلفة — يذهب نموذج الانتشار إلى models/diffusion_models/ (أو models/unet/ حسب الإصدار)، ويتطلب Flux مشفّري نص في models/text_encoders/: clip_l.safetensors وt5xxl_fp16.safetensors (أو t5xxl_fp8_e4m3fn_scaled.safetensors لتوفير VRAM). يذهب VAE (ae.safetensors) إلى models/vae/. يتوفر Flux.1 schnell، المرخَّص بـ Apache 2.0، في black-forest-labs/FLUX.1-schnell على HuggingFace (23,8 GB بدقة كاملة)، وتنشر Comfy-Org نسخة fp8 بحجم 17,2 GB في Comfy-Org/Flux-1-Schnell. مستودعات Black Forest Labs مقيَّدة الوصول (gated): يجب قبول الشروط على HuggingFace قبل التنزيل، وFlux.1 dev يخضع فوق ذلك لترخيص غير تجاري.
الوكيل العكسي Nginx مع المصادقة
إنشاء ملف المصادقة الأساسية
apt install -y apache2-utils && htpasswd -c /etc/nginx/.htpasswd your_user. لا يملك ComfyUI مصادقة أصلية: دون هذه الخطوة، نسختك مفتوحة للجميع.إعداد المضيف الافتراضي في Nginx
أنشئ
/etc/nginx/sites-available/comfyuiمع:server { listen 443 ssl; server_name comfy.yourdomain.com; ... auth_basic "ComfyUI"; auth_basic_user_file /etc/nginx/.htpasswd; location / { proxy_pass http://127.0.0.1:8188; proxy_read_timeout 300s; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }. ترقية WebSocket إلزامية لواجهة ComfyUI البرمجية في الوقت الفعلي.الحصول على شهادة Let's Encrypt والتفعيل
certbot --nginx -d comfy.yourdomain.com && ln -s /etc/nginx/sites-available/comfyui /etc/nginx/sites-enabled/ && nginx -t && systemctl reload nginx. ثم أغلق المنفذ 8188 على جدار الحماية:ufw deny 8188.
تثبيت ComfyUI Manager والعقد المخصصة
ComfyUI Manager هو الإضافة الأساسية لإدارة العقد المخصصة من الواجهة الرسومية. في بيئة Python venv: cd /opt/comfyui && source venv/bin/activate && pip install -r manager_requirements.txt. ثم أعد تشغيل ComfyUI بـ python main.py --enable-manager --listen 127.0.0.1. تظهر أيقونة «Manager» في الواجهة: يمكنك تثبيت العقد المخصصة الشائعة (WAS Node Suite وControlNet Preprocessors وIP-Adapter وغيرها) وتحديثها وتعطيلها دون سطر أوامر. في Docker، ارفع حجم تخزين على custom_nodes/ لكي تبقى التثبيتات بعد إعادة تشغيل الحاوية.
ComfyUI في مواجهة AUTOMATIC1111 (Stable Diffusion WebUI)
مرّر الجدول أفقيًا
| المعيار | ComfyUI | AUTOMATIC1111 |
|---|---|---|
| المقاربة | مسارات عمل عُقدية بصرية | واجهة كلاسيكية بعلامات تبويب |
| قابلية التكرار | ممتازة (مسار عمل مُصدَّر بصيغة JSON) | محدودة بالمعطيات المُدخَلة |
| استهلاك ذاكرة VRAM | محسَّن، يدير وحدات GPU الصغيرة بشكل أفضل | أكثر استهلاكًا عند تهيئة متكافئة |
| منحنى التعلّم | أكثر انحدارًا (منطق الرسم البياني) | أيسر للمبتدئين |
| الأتمتة عبر واجهة API | أصلية ودقيقة | واجهة API موجودة لكن أقل مرونة |
| النماذج الحديثة (Flux وSD3) | دعم سريع ومرجعي | SD3 منذ الإصدار 1.10.0، ولا دعم أصليّ لـ Flux |
| العُقَد المخصصة / الإضافات | منظومة عُقدية غنية جدًا | كتالوج واسع من الإضافات |
| حالة الاستخدام المثالية | خطوط معالجة متقدمة وأتمتة | توليد تفاعلي سريع |
حل المشكلات: 4 أخطاء شائعة
على خادم VPS مُهيَّأ حديثًا، تعود عدة أخطاء باستمرار. إليك الأسباب والحلول.
الأخطاء المتكررة وحلولها
- CUDA not available / Using CPU: لم يكتشف ComfyUI وحدة GPU. الأسباب: PyTorch مثبَّت بدون دعم CUDA، أو تعريفات NVIDIA غائبة. تحقق بـ
python -c "import torch; print(torch.cuda.is_available())". إن كانت False، أعد تثبيت PyTorch بـ--index-url https://download.pytorch.org/whl/cu130. في Docker، تحقق من تثبيت NVIDIA Container Toolkit وأنك تُشغّل مع --gpus all. - CUDA out of memory (OOM): النموذج لا يتسع في VRAM. على وحدات GPU من NVIDIA مع PyTorch 2.8 أو أحدث، تكون الإدارة الديناميكية لذاكرة VRAM مفعّلة افتراضيًا ولا أثر لراية
--lowvram؛ وإلا (أو مع --disable-dynamic-vram)، أضف --lowvramالتي تُشغّل مشفّرات النص على CPU. لـ Flux على 8 GB من VRAM، استخدم أيضًا متغير fp8 من النموذج. كملاذ أخير، --novramيُفرّغ كل شيء في RAM (بطيء جدًا). يُجدي أيضًا تقليل دقة التوليد (512×512 بدلًا من 1024×1024) فورًا. - ERROR: Could not find model / model not found: الملف ليس في المكان الصحيح. يبحث ComfyUI عن checkpoints في
models/checkpoints/، ونماذج انتشار Flux فيmodels/diffusion_models/(أوmodels/unet/)، ومشفّرات النص فيmodels/text_encoders/. لن يظهر ملف .safetensorsفي مجلد فرعي خاطئ في الواجهة. حدّث القائمة بزر «Refresh» في عقدة تحميل النموذج. - Port 8188 already in use: عملية ComfyUI أو تطبيق آخر يستخدم المنفذ بالفعل.
lsof -i :8188يُحدد PID المعني. شغّل ComfyUI على منفذ آخر بـ --port 8189وحدّث إعداد Nginx وفق ذلك. في Docker، قد يأتي التعارض من حاوية متوقفة لكن غير محذوفة:docker rm comfyuiقبل إعادة التشغيل.
لأتمتة التوليد على نطاق صناعي، استغلّ واجهة API: قدّم مسارات عملك عبر POST إلى /prompt واسترجع النتائج عبر WebSocket المسمّى /ws الذي يُشعر بانتهاء كل مهمة. يعمل SDXL على 8 GB من VRAM بفضل الإدارة الديناميكية لذاكرة VRAM، المفعّلة افتراضيًا على وحدات GPU من NVIDIA مع PyTorch 2.8 أو أحدث؛ ولا تفيد راية --lowvram إلا عند تعطيلها. للوصول عن بُعد بدون شهادة (تطوير)، استخدم نفقًا SSH: ssh -L 8188:localhost:8188 user@your-vps — يبقى ComfyUI متاحًا على http://localhost:8188 من جهازك دون أي تعرّض عام.