دليل النشر

بيئة ذكاء اصطناعي ذاتية الاستضافة: Ollama و Open WebUI و n8n

انشر على VPS Cloud ←

دليل عملي

بيئة ذكاء اصطناعي ذاتية الاستضافة: Ollama و Open WebUI و n8n

الذكاء الاصطناعي8 دقائق للقراءةعدد الخطوات: 7

يشغّل ‏Ollama نموذج لغوي كبيراً مباشرةً على خادمك. يُضيف إليه ‏Open WebUI واجهة دردشة متعددة المستخدمين. أما ‏n8n فيربط الاثنين بأدواتك لأتمتة مسارات الذكاء الاصطناعي — تلخيص، تصنيف، توليد محتوى. الأدوات الثلاثة مفتوحة المصدر، ولكلٍّ منها صورة ‏Docker رسمية، ويتجاوز مجموع نجومها على ‏GitHub ‏560 ألفاً: يقترب ‏Ollama و‏n8n كل منهما من ‏205 ألف نجمة، فيما يتجاوز ‏Open WebUI ‏152 ألفاً. تُستشهد بهذه التركيبة بانتظام على ‏r/selfhosted بوصفها الأكثر طلباً لبناء مسار ذكاء اصطناعي ذاتي الاستضافة في سبتمبر 2026. يوضّح هذا الدليل كيفية تجميعها على خادم ‏VPS واحد وجعلها تتعاون دون إرسال أي رمز مميز إلى واجهة برمجية سحابية خارجية.

المحتويات· لماذا تجمع هذه البيئة بدلاً من استخدام كل أداة منفردةً1/9
  1. 01لماذا تجمع هذه البيئة بدلاً من استخدام كل أداة منفردةً
  2. 02ما تقدّمه هذه البيئة على أرض الواقع
  3. 03المتطلبات: الذاكرة والمعالج والنطاق
  4. 04نشر البيئة باستخدام Docker Compose
  5. 05ذاكرة محدودة: تحميل النموذج عند الطلب
  6. 06تأمين البيئة قبل كشفها
  7. 07ملفات VPS الشخصية للبيئة
  8. 08حالة استخدام: أتمتة مسار تلخيص مع n8n
  9. 09التوثيق الرسمي

لماذا تجمع هذه البيئة بدلاً من استخدام كل أداة منفردةً

تُستشهد بـ ‏Ollama و‏Open WebUI و‏n8n معاً بانتظام على ‏r/selfhosted بوصفها المزيج الأكثر طلباً لإنشاء مسار ذكاء اصطناعي كامل باستضافة ذاتية. السبب بسيط: كل أداة بمفردها تحل ثلث المشكلة فحسب. يعرض ‏Ollama واجهة ‏API محلية متوافقة مع ‏OpenAI — لكن دون واجهة للمستخدمين. يوفّر ‏Open WebUI هذه الواجهة — لكن دون أتمتة. ينسّق ‏n8n مسارات العمل — لكن دون محرّك لغوي مدمج يضطر إلى استدعاء ‏API خارجية مدفوعة. الأدوات الثلاثة معاً تُشكّل مساراً مستقلاً: الاستدلال يبقى على جهازك، والدردشة متاحة من المتصفح، ومساراتك الآلية تستهلك مباشرةً واجهة ‏Ollama المحلية عبر عقدة ‏HTTP Request الأصيلة في ‏n8n، دون مكوّن إضافي ودون رسوم بالرمز. تبقى جميع البيانات — الطلبات والمستندات وسجلات المحادثات — في مجلدات ‏Docker الخاصة بك.

ما تقدّمه هذه البيئة على أرض الواقع

  • ‎استدلال خاص — يعمل ‏Mistral 7B و‏Llama 3 و‏Phi-3 أو أي نموذج ‏GGUF محلياً؛ لا يغادر أي طلب خادمك أبداً.
  • ‎واجهة دردشة متعددة المستخدمين — يعرض ‏Open WebUI حسابات منفصلة وسجلات محادثات معزولة ونقطة نهاية متوافقة مع ‏API ‏OpenAI الخاصة بـ ‏Ollama.
  • ‎أتمتة دون مكوّنات إضافية — يستهلك ‏n8n عنوان ‎http://ollama:11434‎ عبر عقدة ‏HTTP Request الأصيلة؛ توثيق ‏n8n.io/integrations يؤكد عدم الحاجة إلى أي تبعية إضافية.
  • ‎تكلفة يمكن التنبؤ بها — سعر ‏VPS شهري واحد يحل محل رسوم الرمز من ‏API سحابية؛ تكفي ذاكرة 8 غيغابايت لـ ‏Mistral 7B و‏Open WebUI و‏n8n في وضع الطابور.
  • ‎التحكم في الإصدارات — تتحدث كل أداة باستقلالية؛ لا هجرة قسرية يفرضها مزوّد ‏SaaS.
  • ‎قابلية نقل كاملة — يكفي docker compose down && docker compose up لنقل البيئة إلى ‏VPS أقوى؛ مجلدات ‏Docker تحمل كل الحالة.
  • ‎صور ‏Docker رسمية موثّقة — يصونها كل مشروع: ‎docker.io/ollama/ollama‎ و‎ghcr.io/open-webui/open-webui‎ و‎docker.io/n8nio/n8n‎.
  • ‎شبكة داخلية آمنة — تتواصل الخدمات الثلاث عبر شبكة ‏Docker خاصة؛ لا يُعرض أي منفذ لـ ‏LLM علناً.

المتطلبات: الذاكرة والمعالج والنطاق

الذاكرة العشوائية هي عامل التقييد. يستهلك ‏Ollama مع ‏Mistral 7B بين 5 و6 غيغابايت وفق التكميم المختار (موثّق في مستودع ‏Ollama). يحتاج ‏Open WebUI نحو 256 ميغابايت إضافية، ويضيف ‏n8n في وضع الطابور نحو 512 ميغابايت. يبلغ المجموع إذن نحو 7 غيغابايت في ظل الحمل الخفيف، ما يعني أن خادم ‏VPS بذاكرة 8 غيغابايت يستوعب البيئة الكاملة دون تبادل الذاكرة النشط — الملف الشخصي المرجعي هو ‎{{vps.business.name}}‎ بـ ‎8‎ ‏vCPU و‎16 GB‎ من الذاكرة. للنماذج الأكبر (13 مليار معامل وما فوق)، خطّط لـ 16 غيغابايت. خصص على الأقل 20 غيغابايت للتخزين لطبقات ‏Docker والنماذج. ستحتاج إلى نطاق فرعي لكل خدمة مكشوفة، مع ‏Docker و‏Docker Compose مثبّتَين، والمنفذ 443 مفتوحاً في جدار الحماية.

نشر البيئة باستخدام Docker Compose

  1. إعداد خادم VPS

    تواصل عبر ‏SSH وثبّت ‏Docker إن لم يكن مثبّتاً: ‎curl -fsSL https://get.docker.com | sh‎. تحقق من توفر ‏Docker Compose بالأمر ‎docker compose version‎. أنشئ مجلد عمل: ‎mkdir -p /opt/ia-stack && cd /opt/ia-stack‎.

  2. كتابة ملف docker-compose.yml

    أعلن الخدمات الثلاث في ملف docker-compose.yml واحد على شبكة داخلية مشتركة:

    services:
      ollama:
        image: docker.io/ollama/ollama
        volumes:
          - ollama_data:/root/.ollama
        networks:
          - ia
        restart: unless-stopped
    
      open-webui:
        image: ghcr.io/open-webui/open-webui:main
        environment:
          - OLLAMA_BASE_URL=http://ollama:11434
        volumes:
          - webui_data:/app/backend/data
        networks:
          - ia
        restart: unless-stopped
    
      n8n:
        image: docker.io/n8nio/n8n
        environment:
          - N8N_BASIC_AUTH_ACTIVE=true
          - N8N_BASIC_AUTH_USER=admin
          - N8N_BASIC_AUTH_PASSWORD=غيّر-هذه-الكلمة
          - WEBHOOK_URL=https://n8n.your-domain.com
        volumes:
          - n8n_data:/home/node/.n8n
        networks:
          - ia
        restart: unless-stopped
    
    networks:
      ia:
        driver: bridge
    
    volumes:
      ollama_data:
      webui_data:
      n8n_data:

    لا يُعرض أي منفذ على المضيف: سيكون الوكيل العكسي البوابة الوحيدة للدخول.

  3. تشغيل الحاويات

    شغّل البيئة: ‎docker compose up -d‎. تحقق من تشغيل الحاويات الثلاث بـ ‎docker compose ps‎. لعرض سجلات خدمة: ‎docker compose logs -f ollama‎. في هذه المرحلة، لا يمكن الوصول إلى أي خدمة من الخارج.

  4. تنزيل نموذج إلى Ollama

    ادخل إلى حاوية ‏Ollama لتنزيل نموذج: ‎docker compose exec ollama ollama pull mistral‎. يُنزّل الأمر النموذج ويضغطه في مجلد ‎ollama_data‎. تحقق من قائمة النماذج المتاحة بـ ‎docker compose exec ollama ollama list‎. يكتشف ‏Open WebUI النماذج الموجودة في ‏Ollama تلقائياً عند بدء التشغيل.

  5. ضبط الوكيل العكسي

    ثبّت ‏Caddy أو ‏Nginx على المضيف لعرض ‏Open WebUI و‏n8n عبر ‏HTTPS. مع ‏Caddy، يكفي كتلتان في ملف ‏Caddyfile:

    chat.your-domain.com {
      reverse_proxy open-webui:8080
    }
    
    n8n.your-domain.com {
      reverse_proxy n8n:5678
    }

    يحصل ‏Caddy على شهادات ‏Let's Encrypt ويجدّدها تلقائياً. لا يُكشف ‏Ollama مباشرةً — يبقى متاحاً فقط للحاويات الأخرى عبر شبكة ‎ia‎.

  6. إنشاء حساب مدير Open WebUI

    افتح ‎https://chat.your-domain.com‎ في متصفحك. عند أول وصول، يدعوك ‏Open WebUI لإنشاء حساب مدير (بريد إلكتروني + كلمة مرور). هذا الحساب محلي تماماً — لا تنتقل أي بيانات إلى خدمة خارجية. يمكنك بعدها إنشاء حسابات إضافية من واجهة الإدارة واختيار نموذج افتراضي من النماذج التي يُدرجها ‏Ollama.

  7. ربط n8n بواجهة API الخاصة بـ Ollama

    في ‏n8n (‎https://n8n.your-domain.com‎)، أنشئ مساراً وأضف عقدة HTTP Request. اضبطها كالآتي: الطريقة ‎POST‎، الرابط ‎http://ollama:11434/api/generate‎، جسم ‏JSON ‎{"model": "mistral", "prompt": "{{ $json.prompt }}", "stream": false}‎. يتواصل ‏n8n مع ‏Ollama عبر الشبكة الداخلية لـ ‏Docker — لا مفتاح ‏API، ولا حصة خارجية. هذه العقدة أصيلة في ‏n8n وموثّقة على ‏n8n.io/integrations.

ذاكرة محدودة: تحميل النموذج عند الطلب

يحتفظ ‏Ollama افتراضياً بالنموذج في الذاكرة 5 دقائق بعد آخر طلب ثم يُخرجه. يمكن ضبط هذا السلوك عبر المتغير ‎OLLAMA_KEEP_ALIVE‎. على ‏VPS بذاكرة 8 غيغابايت، يُحرّر تعيين ‎OLLAMA_KEEP_ALIVE=0‎ الذاكرة بين استدعاءات ‏n8n المجدولة — مفيد إذا لم يعملا معاً بحمل كامل في وقت واحد. في المقابل، تُبقي ‎OLLAMA_KEEP_ALIVE=-1‎ النموذج في الذاكرة دائماً لردود دون تأخير تحميل.

تأمين البيئة قبل كشفها

تتعامل بيئة الذكاء الاصطناعي باستضافة ذاتية مع بيانات حساسة: طلبات، مفاتيح مسارات عمل، سجلات محادثات. قبل أي كشف عام، تحقق من ثلاثة أمور. أولاً، أغلق منفذ 11434 الخاص بـ ‏Ollama على المضيف (‎ufw deny 11434‎) — يجب أن يكون متاحاً فقط من الشبكة الداخلية لـ ‏Docker؛ إذ يعرض منفذ ‏LLM المفتوح واجهة التوليد دون أي مصادقة. ثانياً، غيّر كلمة مرور المصادقة في ‏n8n ضمن متغيرات البيئة؛ المصادقة الأساسية ‏HTTP مفعّلة افتراضياً في الإعداد أعلاه، لكن استخدم كلمة مرور طويلة وعشوائية. ثالثاً، فعّل المصادقة في ‏Open WebUI: افتراضياً يمكن لأي شخص يصل إلى الرابط إنشاء حساب — قيّد التسجيل بتعطيل ‎ENABLE_SIGNUP‎ بعد إنشاء حساباتك. يجب تضمين مجلدات ‏Docker (‎ollama_data‎ و‎webui_data‎ و‎n8n_data‎) في نسخك الاحتياطية المنتظمة؛ إذ تحتوي على الحالة الكاملة للبيئة.

ملفات VPS الشخصية للبيئة

مرّر الجدول أفقيًا

الملف الشخصيالذاكرةحالة الاستخدام الموصى بها
VPS Start4 GBالاختبار والتطوير — نماذج خفيفة (Phi-3 Mini، Gemma 2B)
VPS Power8 GBالاستخدام المعتدل — Mistral 7B، مستخدم أو مستخدمان في آنٍ واحد
VPS Business16 GBالبيئة الكاملة — Mistral 7B أو Llama 3 8B، فريق عمل، مسارات n8n مجدولة

حالة استخدام: أتمتة مسار تلخيص مع n8n

توضّح حالة استخدام عملية قيمة البيئة المجمّعة. تخيّل مساراً في ‏n8n يُشغَّل بواسطة ‏Webhook: يستقبل رابط مقالة، يجلب النص عبر عقدة ‏HTTP، ثم يرسله إلى ‏Ollama للتلخيص. تشير عقدة ‏HTTP Request إلى ‎http://ollama:11434/api/generate‎ مع نموذج ‎mistral‎ وطلب من نحو: ‎لخّص هذا النص في 3 نقاط رئيسية: {{$json.text}}‎. يُحلَّل الرد ويُرسل إلى ‏Slack أو بالبريد أو يُودَع في قاعدة بيانات — حسب العقد التالية في المسار. هذا النوع من المسارات — جلب بيانات ← نموذج لغوي ← إجراء — لا يتطلب مفتاح ‏API خارجياً، ويعمل باستمرار على ‏VPS الخاص بك، ولا يُكلّف أي رسوم بالرمز. ومن المسارات الشائعة الأخرى: تصنيف تذاكر الدعم الواردة، وتوليد أوصاف المنتجات من جداول المواصفات، واستخراج الكيانات من المستندات التعاقدية — وفي كل هذه الحالات تبقى البيانات داخل بنيتك التحتية. للمسارات الأكثر تعقيداً المتضمنة مستندات ‏PDF أو قواعد متجهات، يمكنك إضافة ‏Flowise أو ‏LangFlow على الشبكة نفسها لـ ‏Docker، مستخدماً ‏Ollama كمزوّد استدلال مشترك.

التوثيق الرسمي

لكل أداة توثيق مرجعي للإعداد المتقدم: ‏Ollama على GitHub، وتوثيق ‏Open WebUI، وتوثيق ‏n8n. يغطّي هذا الدليل التجميع على ‏VPS؛ ويبقى توثيق كل مطوّر المرجع للإعدادات الدقيقة والتحديثات الكبرى وحالات الاستخدام الخاصة بكل أداة.

بيئة الذكاء الاصطناعي الخاصة بك على خادم ‏ServOrbit VPS

يستوعب خادم ‎`{{vps.business.name}}`‎ (‎8‎ ‏vCPU، ‎16 GB‎ من الذاكرة، وصول ‏root، عنوان ‏IPv4 مخصص) بيئة ‏Ollama + Open WebUI + n8n الكاملة. مراكز بيانات أوروبية، أقراص ‏NVMe SSD، توسعة رأسية عند الطلب. ابتداءً من ‎`{{vps.start.price}}`‎ شهرياً.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة