[{"data":1,"prerenderedAt":188},["ShallowReactive",2],{"seo-verification":3,"blog-نشر-dify-على-vps-سير-عمل-الذكاء-الاصطناعي-تحت-السيطرة-ma-ar":6,"promo-bar-likely":187},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-نشر-dify-على-vps-سير-عمل-الذكاء-الاصطناعي-تحت-السيطرة-ma-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":32,"intro":34,"sections":35,"ctaTitle":120,"ctaBody":121,"ctaButton":122,"ctaUrl":123,"relatedPosts":124},2,"نشر-dify-على-vps-سير-عمل-الذكاء-الاصطناعي-تحت-السيطرة",{"fr":12,"en":13,"ar":10,"es":14},"deployer-dify-vps","deploying-dify-on-a-vps-ai-workflows-under-control","desplegar-dify-en-un-vps","نشر Dify على VPS: دليل شامل من التثبيت إلى الإضافات","ثبّت Dify على VPS من ServOrbit: المتطلبات وDocker Compose والإضافات دون اتصال وحدود تثبيت Docker ونسخ احتياطي قبل التحديث وحل الأخطاء الشائعة.",15,1,false,"2026-02-11T00:00:00+00:00","2026-10-29T03:10:23+00:00",{"id":18,"name":23,"slug":24,"color":25,"icon":26},"الذكاء الاصطناعي","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[28],{"id":18,"name":23,"slug":24,"color":25,"icon":26},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-dify-vps-poster.svg",{"categorySlug":24,"appSlug":33},"dify","يتيح Dify تصميم وكلاء الذكاء الاصطناعي وتدفّقات المحادثة وسير العمل متعددة النماذج دون إعادة بناء البنية الخلفية من الصفر. تُبقي استضافته ذاتيًا على VPS من ServOrbit مفاتيح API وموجّهاتك (prompts) وقواعد معرفتك ضمن نطاق تديره أنت. يغطّي هذا الدليل المسار بأكمله: تحديد المواصفات، تثبيت Docker Compose، الدخول الأول، الإضافات دون اتصال، الحدود المعروفة لتثبيت Docker (عقدة Agent وأدوات MCP)، النسخ الاحتياطي قبل الترقية وتشخيص الأخطاء الشائعة.",[36,40,50,53,72,75,78,81,84,87,90,108,111,114,117],{"type":37,"title":38,"body":39},"h2","لماذا تستضيف Dify على VPS؟","يعني استخدام النسخة السحابية من Dify تسليم موجّهاتك وبيانات عملك ومفاتيح API إلى خادم تابع لطرف ثالث، مع قيود على عدد التطبيقات والنماذج المتاحة. باستضافة Dify ذاتيًا على VPS، تزيل هذه القيود: لا اشتراك شهري مرتبط بالاستخدام، ولا بيانات حسّاسة تُرسَل إلى الخارج، وحرية ربط أي مزوّد نماذج (OpenAI وAnthropic وOllama محليًا وغيرها). إنه الحل الأمثل للفِرَق التي ترغب في بناء خطوط أنابيب ذكاء اصطناعي متينة في بيئة تحت سيطرتها الكاملة.",{"type":41,"title":42,"items":43},"ul","ما الذي يمكنك فعله باستخدام Dify",[44,45,46,47,48,49],"إنشاء روبوتات دردشة ووكلاء ذكاء اصطناعي مخصّصين متّصلين بمصادر بياناتك الخاصة (RAG)","تنظيم سير عمل متعدّد الخطوات يجمع بين عدة نماذج لغوية وأدوات خارجية","ربط Dify بـ OpenAI أو Anthropic Claude أو Mistral أو نموذج محلي عبر Ollama","إتاحة تطبيقات الذكاء الاصطناعي الخاصة بك عبر REST API أو أداة قابلة للتضمين في موقعك","إدارة وصول فريقك عبر نظام أدوار ومساحات عمل","متابعة سجلّات الاستخدام والتكاليف لكل نموذج وأداء خطوط الأنابيب الخاصة بك",{"type":37,"title":51,"body":52},"المتطلبات الأساسية: كيف تختار VPS بالمواصفات الصحيحة","يشغّل Dify مجموعة من خدمات Docker بالتوازي: خادم API، ومعالج Celery للتضمينات والمهام غير المتزامنة، والواجهة الأمامية، وPostgreSQL (الخدمة `db_postgres`)، وRedis، وWeaviate كقاعدة متجهية افتراضية (`VECTOR_STORE=weaviate`)، وبيئة `sandbox` لتنفيذ الأكواد، و`plugin_daemon`، وبروكسيات SSRF (Squid)، وnginx. ومنذ الإصدار 1.16.0 تنضمّ إليها `agent_backend` و`local_sandbox` اللتان تشغّلان تطبيقات Agent.\n\n**الحدّ الأدنى الرسمي**: نواتان من المعالج و4 GiB من الذاكرة، مع Docker Compose بالإصدار 2.24.0 أو أحدث (توثيق Dify). خطّط لـ 2 vCPU · 4 GB · 40 GB SSD لاختبار الوظائف الأساسية.\n\n**الموصى به للاستخدام الفعلي**: 4 vCPU · 8 GB RAM · 80 GB. بمجرد فهرسة وثائق ضخمة أو استعلام عدة مستخدمين في آنٍ واحد أو تفعيل تطبيقات Agent، تستنزف التضمينات وقاعدة البيانات المتجهية وخدمات الوكيل الـ 4 GB بالكامل. يناسب عرض **VPS Power** من ServOrbit (4 vCPU، 8 GB) استخدام فريق دون نموذج محلي.\n\n**مع نموذج محلي (Ollama)**: أضف متطلبات النموذج. يحتاج Llama 3 8B المضغوط (Q4) إلى ~6 GB من ذاكرة VRAM أو RAM مخصّصة؛ خطّط لـ 16 GB RAM على الأقل لتشغيل Dify وOllama معًا دون swap.\n\nنظام التشغيل الموصى به: Ubuntu 22.04 LTS.",{"type":54,"title":55,"steps":56},"steps","ثبّت Dify على VPS من ServOrbit",[57,60,63,66,69],{"title":58,"body":59},"اطلب VPS Cloud من ServOrbit","توجّه إلى صفحة \u002Fvps-cloud واختر عرضًا يناسب استخدامك (الحدّ الأدنى 2 vCPU \u002F 4 GB، الموصى به 4 vCPU \u002F 8 GB). اختر Ubuntu 22.04 LTS كنظام تشغيل وأكمل الطلب. يُجهَّز VPS الخاص بك في أقل من دقيقة.",{"title":61,"body":62},"استنسخ إصدارًا منشورًا وانسخ ملف الإعداد","اتصل عبر SSH ثم نفّذ ‎`git clone --branch 1.18.0 https:\u002F\u002Fgithub.com\u002Flanggenius\u002Fdify.git` ثم `cd dify\u002Fdocker` ثم ‎`cp .env.example .env`. ثبّت وسم إصدار بدل الفرع `main` الذي يتغيّر مع كل دمج: يطلب التوثيق الرسمي استنساخ آخر إصدار.\n\nيجمع ملف ‎`.env` الإعداد كله. قبل أول تشغيل، استبدل القيم التطويرية المرفقة: `DB_PASSWORD` (الافتراضية `difyai123456`) و`REDIS_PASSWORD` و`SANDBOX_API_KEY` و`PLUGIN_DAEMON_KEY` و`DIFY_AGENT_API_TOKEN` و`DIFY_AGENT_SERVER_SECRET_KEY`. اترك `SECRET_KEY` فارغًا ليُولَّد مفتاح دائم: تغييره لاحقًا يُخرج كل المستخدمين ويجعل بيانات OAuth للإضافات غير قابلة للقراءة. وأخيرًا، ولّد رمز صندوق الرمل الخاص بالوكيل بالأمر `openssl rand -base64 32` وضعه في `DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN`: بدونه لا يبدأ Agent backend ولا صندوق الرمل التابع له.",{"title":64,"body":65},"شغّل مجموعة Docker Compose","من مجلد `dify\u002Fdocker`، نفّذ `docker compose up -d`. تنزّل Docker الصور وتشغّل الحاويات: `api` و`worker` و`worker_beat` و`web` و`db_postgres` و`redis` و`weaviate` و`sandbox` و`plugin_daemon` و`ssrf_proxy` و`agent_backend` و`local_sandbox` و`nginx`. تحقّق عبر `docker compose ps` من أن الخدمات في حالة `Up` أو `healthy`؛ تظهر `init_permissions` بحالة `Exited` وهذا طبيعي. تستغرق العملية عادةً 3 إلى 5 دقائق بحسب سرعة الاتصال.",{"title":67,"body":68},"إنشاء حساب المسؤول","افتح `http:\u002F\u002F[YOUR-VPS-IP]\u002Finstall` في متصفّحك.\n\nتنبيه: افعل ذلك فورًا. ما دام حساب المسؤول غير موجود، تبقى صفحة `\u002Finstall` مفتوحة لأي شخص، ويصبح أول من يصل إليها مالك نسختك. إذا عيّنت `INIT_PASSWORD` في ملف ‎`.env` (30 حرفًا كحدّ أقصى)، تطلبه الصفحة قبل إنشاء الحساب.\n\nأدخل عنوان بريدك الإلكتروني وكلمة مرور قوية. هذا الحساب هو مالك مساحة العمل الافتراضية.",{"title":70,"body":71},"اربط اسم نطاق وفعّل HTTPS","للإنتاج، أسند اسم نطاق لعنوان IP الخاص بـ VPS وانشر شهادة TLS. يستمع nginx الداخلي في Dify افتراضيًا على المنفذ 80 للخادم (`EXPOSE_NGINX_PORT=80`): إن ثبّتّ nginx على الخادم نفسه فسيتعارضان. عيّن `EXPOSE_NGINX_PORT=8080` في ‎`.env`، ثم ثبّت nginx وCertbot على الخادم (`sudo apt install nginx certbot python3-certbot-nginx -y`)، وأنشئ vhost يوجّه الطلبات إلى ‎`127.0.0.1:8080` ونفّذ ‎`sudo certbot --nginx -d your-domain.com`.\n\nثم عيّن `CONSOLE_API_URL` و`APP_WEB_URL` و`SERVICE_API_URL` و`FILES_URL` إلى ‎`https:\u002F\u002Fyour-domain.com` (فارغة افتراضيًا): يخدم `CONSOLE_API_URL` تسجيلات الدخول عبر OAuth والإضافات، ويخدم `APP_WEB_URL` روابط عقدة Human Input، وإن بقي `FILES_URL` و`CONSOLE_API_URL` فارغين فلن تعمل معاينة الملفات. أعد التشغيل بالأمر `docker compose up -d`.",{"type":37,"title":73,"body":74},"الإعداد بعد التثبيت: النماذج وواجهة API ومساحة العمل","بمجرد تسجيل الدخول، تتمثّل الخطوة الأولى في تسجيل مزوّد نماذج. في الإعدادات (الأيقونة في أعلى اليمين) ← **مزوّدو النماذج**، أضف مفتاح API الخاص بـ OpenAI أو Anthropic أو Mistral أو أي مزوّد آخر مدعوم. للنموذج المحلي، أدخل عنوان URL لنسخة Ollama الخاصة بك (`http:\u002F\u002F[host-IP]:11434`).\n\nيكشف Dify أيضًا REST API خاصة به لدمج تطبيقاتك في خطوط أنابيب خارجية. ستجد مفاتيح API في **الإعدادات ← مفاتيح API**. تتيح هذه المفاتيح استعلام تطبيقاتك في Dify من n8n أو Zapier أو أي سكربت Python دون الحاجة إلى واجهة المستخدم الرسومية.\n\nمساحة العمل الافتراضية هي تلك التي أُنشئت عند تسجيل الدخول الأول. ادعُ أعضاء عبر **الإعدادات ← الأعضاء** وامنحهم أدوار `Admin` أو `Normal` أو `Dataset operator`.",{"type":37,"title":76,"body":77},"الإضافات دون اتصال: تجاوز خطأ 500\u002F404 في نسخ self-hosted","منذ نوفمبر 2025 (issue #27720 على GitHub، فُتحت على Dify 1.9.2)، يلاحظ مستخدمو النسخ الذاتية فشل تثبيت الإضافات من marketplace: خطأ HTTP 500 مع `langgenius\u002Fperplexity`، وHTTP 404 مع `langgenius\u002Fanthropic`، ثم `Reached maximum retries (3)` مع `langgenius\u002Fazure_openai`. تُثبَّت الإضافات نفسها على Dify Cloud. أُغلقت المسألة بوصف «not planned» في 18 ديسمبر 2025 بالوسم `cant-reproduce` ودون إصلاح: الحلول أدناه مصدرها بوت في النقاش ولم يؤكدها المشرفون.\n\n**الحلّ البديل 1: ملف ‎`.difypkg` محلي.** نزّل ملف ‎`.difypkg` للإضافة على جهاز متصل، ثم ثبّته عبر «التثبيت من ملف محلي». للخادم دون وصول صادر، تضمّ أداة `dify-plugin-repackaging` الاعتماديات داخل الحزمة. وإن رُفض الملف بسبب حجمه، ارفع `PLUGIN_MAX_PACKAGE_SIZE` (القيمة الافتراضية 52428800 بايت) و`NGINX_CLIENT_MAX_BODY_SIZE` (الافتراضية `100M`).\n\n**الحلّ البديل 2: تعطيل التحقّق من التوقيع.** لتثبيت إضافات غير موقّعة أو تطوير إضافاتك، عيّن `FORCE_VERIFYING_SIGNATURE=false` (الافتراضية: `true`) في ‎`.env`، ثم نفّذ `docker compose restart plugin_daemon`.\n\nتحذير: يُلغي تعطيل التوقيع أحد ضمانات الأمان. احتفظ بهذا الإعداد لبيئات التطوير أو لإضافات تتحكّم في مصدرها؛ وفي الإنتاج مع مستخدمين خارجيين يُفضَّل ملف ‎`.difypkg` موثوق.",{"type":37,"title":79,"body":80},"الحدود المعروفة لتثبيت Docker: عقدة Agent","**عقدة Agent في Chatflow وWorkflow على الإصدار 1.15.0.** في تثبيت Docker القياسي للإصدار 1.15.0، تفشل عقدة «Agent» قبل أي استدعاء للنموذج بالخطأ `ValueError: base_url is required when creating a real Agent backend client`. فهي تتطلّب خدمة «Agent backend» يحدّدها `AGENT_BACKEND_BASE_URL`، ولم يكن ‎`docker-compose.yaml` الرسمي لذلك الإصدار يتضمّنها. لم تُنتج المسألتان #38283 (أُغلقت بوصف «not planned» في 17 أغسطس 2026) و#39161 (أُغلقت بوصفها مكرّرة في 23 أكتوبر 2026) في langgenius\u002Fdify أي إصلاح؛ وما زال تحسين رسالة الخطأ قيد المراجعة (PR #39878). يتداول الناس حلّين ولا يصلح أيٌّ منهما: يوصل `AGENT_BACKEND_USE_FAKE=true` عميلًا وهميًا يعيد إجابة ثابتة دون أن يستدعي النموذج اللغوي ولا أدوات MCP، ونشر خدمة `dify-agent` يدويًا غير موثّق وغير مدعوم.\n\n**منذ الإصدار 1.16.** يضمّ ملف compose الرسمي الآن `agent_backend` و`local_sandbox`، مع `AGENT_BACKEND_BASE_URL=http:\u002F\u002Fagent_backend:5050` في ‎`.env.example`، وعليك تعيين `DIFY_AGENT_API_TOKEN` (الذي يجب أن يساوي `AGENT_BACKEND_API_TOKEN` منذ 1.16.1) و`DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN`. غير أن Agent V2 أُخفي من Chatflow منذ 1.16.1 لغياب سياق المحادثات متعددة الأدوار؛ وطلب استعادته (#41269، فُتح في 26 أغسطس 2026) بلا إصدار مستهدف. في Chatflow لا تتوفّر إلا عقدة Agent القديمة. ونوع تطبيق Agent المستقل هو البديل الذي يقول صاحب #39161 إنه اشتغل على 1.15.0.",{"type":37,"title":82,"body":83},"حدود معروفة: تعديل Chatflow يستخدم أداة MCP في الإصدار 1.18.0","تفيد المسألة #44742 (فُتحت في 25 أكتوبر 2026) بأنه بعد حذف أداة MCP ثم إضافتها من جديد في عقدة Agent على 1.18.0، يتوقف Chatflow عن العمل: `TypeError: object of type 'NoneType' has no len()` في الدالة `build_parameters`. يُظهر ملف YAML المُصدَّر أن `allowed_tools` و`context` و`files` حُفظت بالشكل `type: variable` مع `value: null`. أما أداة MCP أخرى سليمة في التدفّق نفسه فتواصل العمل. العودة إلى 1.17.x لا تُصلح تدفّقًا تضرّر أصلًا، واستيراد النسخة المصدَّرة التالفة في نسخة أخرى يفشل أيضًا.\n\n**حلول أُبلغ عنها.** تعديل YAML لجعل هذه الحقول الثلاثة `type: constant` مع `value: []` ثم استيراده كما هو (إعادة تغليفه كملف ‎`.difypkg` تفشل في فحص السلامة)، أو إعادة بناء التدفّق.\n\n**حالة النقاش.** أُغلقت المسألة في 26 أكتوبر 2026 عبر PR #44748 المدموج في `main`: لم تعد تكتب الحقول الاختيارية المفرَّغة في الرسم المحفوظ. تعالج #44579 (`AgentVariableNotFoundError`) لكنها تنصّ على أن المعاملات اليدوية المتداخلة والتسلسل الكامل لحذف أداة MCP وإضافتها خارج نطاقها. لم يظهر أي إصدار بعد 1.18.0 في صفحة الإصدارات في 28 أكتوبر 2026. إلى ذلك الحين، صدِّر ملف YAML قبل كل تعديل على Chatflow يستخدم أداة MCP.",{"type":37,"title":85,"body":86},"الربط مع Ollama وn8n","يصبح Dify أكثر قوةً حين يقترن بأدوات self-hosted أخرى.\n\n**Ollama** يتيح تشغيل نموذج لغوي مباشرةً على VPS أو خادم ضمن الشبكة نفسها، دون الاعتماد على API خارجية. بعد نشر Ollama، سجّله في Dify كمزوّد نماذج بعنوان URL: `http:\u002F\u002F[Ollama-IP]:11434`. تبقى كل عمليات التوليد حينئذٍ ضمن بنيتك التحتية — دون أي تسرّب للموجّهات إلى الخارج.\n\n**n8n** هو منسّق سير عمل يمكنه التحكّم في Dify عبر REST API. أنشئ عقدة HTTP Request في n8n تشير إلى `https:\u002F\u002Fyour-domain.com\u002Fv1\u002Fchat-messages` مع مفتاح API لـ Dify في ترويسة `Authorization`. يمكنك بذلك تشغيل محادثة Dify انطلاقًا من نموذج ويب أو بريد إلكتروني وارد أو Slack webhook، وإرسال استجابة الذكاء الاصطناعي إلى أي وجهة.",{"type":37,"title":88,"body":89},"انسخ الحجم وقاعدة البيانات احتياطيًا قبل رفع الإصدار","تمسّ ترقية Dify مخطط PostgreSQL (تُنفَّذ الترحيلات عند إقلاع API ما دام `MIGRATION_ENABLED=true`) والبيانات المتجهية وصور مجموعة الوكيل. تبدأ ملاحظات الإصدار 1.18.0 بعبارة «Back up first»: قاعدة البيانات وبيانات المخزن المتجهي والملفات المرفوعة وتخزين Agent والأسرار وملفات البيئة.\n\nفي Docker Compose يقع كل شيء تقريبًا في `docker\u002Fvolumes\u002F` (`db\u002Fdata` لـ PostgreSQL و`weaviate` و`redis\u002Fdata`)، على هيئة مجلدات مرتبطة لا أحجام مسمّاة. للحصول على نسخة متّسقة: `docker compose stop` ثم ‎`tar czf ..\u002Fdify-backup.tar.gz volumes .env docker-compose.yaml` ثم انسخ الأرشيف خارج VPS. وبدون إيقاف كامل يبقى التصدير المنطقي ممكنًا: ‎`docker compose exec -T db_postgres pg_dump -U postgres dify > dify-dump.sql`.\n\nاحتفظ أيضًا، خارج المستودع، بـ `SECRET_KEY` وبـ `PASSWORD_PEPPER` إن عيّنته: فقدان الأول يجعل بيانات الاعتماد المشفّرة غير قابلة للقراءة، وتغيير الثاني يُبطل تجزئات كلمات المرور الحالية (ملاحظات 1.18.0). وأخيرًا خطّط للمراحل: إن كانت مجموعتك ما زالت تضمّ Weaviate 1.27، فإن ملاحظات 1.17.1 تفرض ترقية على مراحل نحو 1.39 دون تخطي إصدارات فرعية.",{"type":54,"title":91,"steps":92},"رفع الإصدار بأمان: جرّب أولًا على نسخة",[93,96,99,102,105],{"title":94,"body":95},"ثبّت الحالة الراهنة","دوّن الإصدار الجاري (`docker compose images`)، وأوقف المجموعة بالأمر `docker compose stop`، ونفّذ النسخ الاحتياطي الموصوف أعلاه. تحقّق من أن الأرشيف يُفتح (`tar tzf`) قبل المتابعة: نسخة احتياطية لم تُقرأ قط ليست نسخة احتياطية.",{"title":97,"body":98},"انسخ المثيل","من المجلد الأعلى، نفّذ `cp -a dify dify-test`. في `dify-test\u002Fdocker\u002F.env` غيّر `EXPOSE_NGINX_PORT` و`EXPOSE_NGINX_SSL_PORT` (مثلًا 8081 و8444) كي لا يتعارضا مع الإنتاج، واترك قرصًا وذاكرة لمجموعة ثانية. يتبع اسم مشروع Compose اسم المجلد، وهذا يفصل المجموعتين.",{"title":100,"body":101},"انقل النسخة إلى الإصدار المستهدف","في `dify-test` نفّذ `git fetch --tags` ثم `git checkout \u003Cالوسم>`. قارن كل ملف ‎`.env.example` بملف ‎`.env` لديك لرصد المتغيرات الجديدة أو المعاد تسميتها، وإن عدّلت ‎`docker-compose.yaml` فأعد تطبيق تعديلاتك على ملف الإصدار الجديد بدل الإبقاء على القديم. نفّذ `docker compose pull` ثم `docker compose up -d` وتابع `docker compose logs -f api` حتى تنتهي الترحيلات. من 1.17.1 إلى 1.18.0 تعدّها الملاحظات 22 ترحيلًا: ترتفع API والعمّال وAgent Backend وصور التشغيل معًا.",{"title":103,"body":104},"أعد تشغيل تدفّقاتك الحسّاسة","على النسخة، افتح كل Chatflow يستخدم عقدة Agent أو أداة MCP، ونفّذه، ثم عدّله واحفظه مرة واحدة: فالتعديل هو ما كسر التدفّقات في 1.18.0. اختبر أيضًا استعلامًا على قاعدة معرفة واستدعاء إضافة وتصدير YAML. ثم أتلف النسخة: `docker compose down` ثم احذف المجلد `dify-test`.",{"title":106,"body":107},"حوّل الإنتاج أو ارجع","أعد الخطوات نفسها في الإنتاج خلال نافذة صيانة. وللرجوع إلى الوراء لا يكفي تبديل الوسم: فالترحيلات غيّرت قاعدة البيانات. نفّذ `docker compose down` واستعد أرشيف الأحجام ثم ارجع إلى الوسم السابق.",{"type":37,"title":109,"body":110},"تشخيص الأخطاء: أكثر المشكلات شيوعًا","**حاوية `worker` تعيد التشغيل باستمرار.** يعتمد معالج Celery على Redis وPostgreSQL. تحقّق من حالتهما بـ `docker compose ps db_postgres redis` واقرأ `docker compose logs worker --tail=50`. إذا لم يكن Redis جاهزًا عند الإقلاع، يكفي `docker compose restart worker`.\n\n**`plugin_daemon` يدور في حلقة بسبب الاتصال بـ PostgreSQL.** يُظهر البلاغ dify-plugin-daemon #729 (Dify 1.14.0) الرسالة ‎`failed to connect to host=db_postgres … lookup db_postgres on 127.0.0.11:53: no such host` ثم `panic: failed to init dify plugin db`. يجب أن يطابق اسم المضيف خدمة قيد التشغيل: تحقّق من أن `db_postgres` في حالة `healthy` وأن `DB_HOST` في ‎`.env` يحمل هذا الاسم وأن `COMPOSE_PROFILES` يتضمّن `postgresql`، ثم نفّذ `docker compose down` و`docker compose up -d`. أُغلقت تلك المسألة دون سبب مؤكَّد.\n\n**خدمة لا تبدأ بسبب ‎`vm.max_map_count`.** يخص هذا الإعداد في النواة Elasticsearch (ملف التعريف `elasticsearch`) لا Weaviate. إن اخترته، يطلب توثيق Elastic القيمة 1048576 حين تكون القيمة الافتراضية أدنى: ‎`sudo sysctl -w vm.max_map_count=1048576`، ثم السطر نفسه في ‎`\u002Fetc\u002Fsysctl.conf` مع `sudo sysctl --system` لجعله دائمًا.\n\n**إضافات marketplace: خطأ 500\u002F404.** راجع قسم «الإضافات دون اتصال». إن كان السبب حجبًا شبكيًا، اختبر المنفذ 443 الصادر من داخل حاوية: ‎`docker compose exec api curl -I https:\u002F\u002Fmarketplace.dify.ai`.\n\n**انقطاع WebSocket خلف البروكسي العكسي.** إن انقطع بثّ الردود، فإن nginx الخارجي لا يُمرّر ترويسات الترقية. أضف إلى `location \u002F`: `proxy_set_header Upgrade $http_upgrade;` و`proxy_set_header Connection \"upgrade\";`.",{"type":37,"title":112,"body":113},"تشخيص الأخطاء: الوكلاء وأدوات MCP والترقيات","**`base_url is required when creating a real Agent backend client`.** راجع «الحدود المعروفة لتثبيت Docker: عقدة Agent». على إصدار حديث، تحقّق من أن `agent_backend` يعمل وأن `AGENT_BACKEND_BASE_URL` يشير إلى `http:\u002F\u002Fagent_backend:5050`.\n\n**`agent_backend` أو `local_sandbox` لا يبدآن.** قيمة `DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN` فارغة: يذكر التوثيق أن Agent backend وصندوق الرمل التابع له لا يبدآن بدونها. ولّدها بالأمر `openssl rand -base64 32` وضعها في `docker\u002F.env` ثم أعد التشغيل.\n\n**`TypeError: object of type 'NoneType' has no len()`.** تضرّر Chatflow بعد تعديل أداة MCP على 1.18.0 (#44742): راجع القسم المخصّص وأصلح YAML قبل الاستيراد.\n\n**`AgentVariableNotFoundError: Variable '' does not exist`.** حقل اختياري فُرِّغ في عقدة Agent يترك محدِّدًا فارغًا في الرسم المحفوظ (#44579، لوحظ على 1.17.1). أعد قيمة إلى الحقل أو انتظر إصدارًا يتضمّن PR #44748.\n\n**ضياع IP الحقيقي خلف Cloudflare أو موازن حمل.** منذ 1.18.0 يستبدل nginx المضمَّن الترويسة `X-Forwarded-For`: اضبط التعامل الموثوق مع IP الحقيقي.\n\n**تعذّر الدخول بعد تحديث.** إضافة `PASSWORD_PEPPER` أو تغييره أو حذفه يُبطل كلمات المرور الحالية: أعد القيمة الأصلية.",{"type":115,"body":116},"tip","أنشئ لقطة ServOrbit عند الطلب من مساحة العميل قبل كل ترقية: تغطّي مجلد `docker\u002Fvolumes\u002F` (PostgreSQL وWeaviate وRedis) وملفات ‎`.env` الخاصة بك. أوقف المجموعة أولًا بالأمر `docker compose stop` لتُنسخ القاعدة في حالة متّسقة. في حال فشل تحديث ما، يستغرق الرجوع إلى نسخة سابقة دقائق قليلة من مساحة العميل. تكمّل اللقطة النسخة التجريبية ولا تحلّ محلها.",{"type":115,"title":118,"body":119},"التوثيق الرسمي","للإعداد المتقدّم وقائمة متغيرات البيئة الكاملة وملاحظات الإصدار، راجع \u003Ca href=\"https:\u002F\u002Fdocs.dify.ai\u002Fen\u002Fhome\" target=\"_blank\" rel=\"noopener noreferrer\">التوثيق الرسمي لـ Dify\u003C\u002Fa>. يبقى `docker-compose.yaml` في المستودع الرسمي المرجع الأساسي لإصدارات الصور والتبعيات بين الخدمات.","انشر Dify في دقائق على VPS Cloud من ServOrbit","أطلق نسختك الخاصة من Dify على VPS عالي الأداء وتحكّم بالكامل في تطبيقات الذكاء الاصطناعي الخاصة بك، دون حدود استخدام ودون أي تنازل عن خصوصية بياناتك.","أطلق VPS Cloud الخاص بي","\u002Fvps-cloud",[125,145,167],{"id":126,"slug":127,"slugs":128,"title":132,"excerpt":133,"readTime":134,"views":135,"isPinned":19,"noindex":19,"publishedAt":136,"updatedAt":137,"category":138,"categories":139,"featuredImage":29,"bgImage":30,"posterImage":141,"relatedSolution":142},11,"كيفية-استضافة-ollama-على-خادم-vps",{"fr":129,"en":130,"ar":127,"es":131},"heberger-ollama-vps","how-to-host-ollama-on-a-vps","como-alojar-ollama-en-un-vps","استضافة Ollama على خادم VPS: دليل التشغيل المتقدم","إعداد Ollama المتقدم على VPS: إدارة النماذج، وكيل عكسي nginx، أمان الواجهة البرمجية، تكميم Q4_K_M\u002FQ8، ثغرة CVE-2026-45672 في Open WebUI والتكامل الآمن.",9,3,"2026-06-09T00:00:00+00:00","2026-11-04T16:30:24+00:00",{"id":18,"name":23,"slug":24,"color":25,"icon":26},[140],{"id":18,"name":23,"slug":24,"color":25,"icon":26},"\u002Fblog\u002Fcovers\u002Fheberger-ollama-vps-poster.svg",{"categorySlug":143,"appSlug":144},"الذكاء-الاصطناعي","ollama",{"id":135,"slug":146,"slugs":147,"title":151,"excerpt":152,"readTime":153,"views":154,"isPinned":19,"noindex":19,"publishedAt":155,"updatedAt":156,"category":157,"categories":161,"featuredImage":29,"bgImage":30,"posterImage":163,"relatedSolution":164},"تثبيت-n8n-على-vps-مع-docker-دليل-شامل-2026",{"fr":148,"en":149,"ar":146,"es":150},"installer-n8n-vps","install-n8n-on-vps-with-docker-complete-2026-guide","instalar-n8n-en-vps-con-docker","تثبيت n8n على VPS مع Docker: دليل شامل 2026","انشر n8n على VPS مع Docker والوكيل العكسي وHTTPS. يشمل عطل V8، خطأ 502، الانتقال من npm وأمان التنفيذ (تنبيه GHSA-vrv8-j27g-g7cr، أغسطس 2026).",19,4,"2026-06-05T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":9,"name":158,"slug":159,"color":160,"icon":159},"الأتمتة","automatisation","bg-brand-action\u002F10 text-brand-action",[162],{"id":9,"name":158,"slug":159,"color":160,"icon":159},"\u002Fblog\u002Fcovers\u002Finstaller-n8n-vps-poster.svg",{"categorySlug":165,"appSlug":166},"الأتمتة-وسير-العمل","n8n",{"id":168,"slug":169,"slugs":170,"title":174,"excerpt":175,"readTime":176,"views":18,"isPinned":19,"noindex":19,"publishedAt":177,"updatedAt":178,"category":179,"categories":184,"featuredImage":29,"bgImage":30,"posterImage":186,"relatedSolution":29},228,"تصليب-الخادم-linux-الأولي",{"fr":171,"en":172,"ar":169,"es":173},"durcissement-serveur-linux-initial","initial-linux-server-hardening","hardening-inicial-servidor-linux","تصليب الخادم ‎Linux‎ الأولي","أنشئ مستخدم ‎sudo‎، وكوّن ‎SSH‎ بالمفاتيح، وفعّل ‎UFW‎ و‎fail2ban‎ على ‎Ubuntu‎ أو ‎Debian‎ في أقل من ساعة.",8,"2026-08-06T00:00:00+00:00","2026-10-20T23:18:07+00:00",{"id":176,"name":180,"slug":181,"color":182,"icon":183},"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[185],{"id":176,"name":180,"slug":181,"color":182,"icon":183},"\u002Fblog\u002Fcovers\u002Fdurcissement-serveur-linux-initial-poster.svg",true,1794270316080]