لماذا تستضيف n8n ذاتيًا على VPS
غالبًا ما تتعامل سير عمل n8n مع أسرار حسّاسة: رموز API، وبيانات اعتماد قواعد البيانات، ومحتويات webhooks المهنية. في النسخة السحابية المُفوترة حسب التنفيذ، تمرّ هذه البيانات عبر بنية تحتية لا تتحكم فيها، وترتفع الفاتورة مع الحجم. على VPS مخصّص، يبقى المحرّك وقاعدة البيانات الداخلية وبيانات الاعتماد لديك، دون حد للتنفيذ، وأنت من يختار توقيت كل تحديث.
الفوائد الملموسة لـ n8n مُستضاف ذاتيًا
- عمليات تنفيذ غير محدودة: دون سقف شهري ودون تكلفة إضافية لكل سير عمل مُشغَّل.
- سرّية بيانات الاعتماد وحمولات webhooks، التي تبقى على خادمك.
- وصول كامل إلى العُقد المجتمعية وإلى تنفيذ كود مخصّص.
- استمرارية مُدارة لسير العمل والسجل داخل وحدات تخزين تأخذ منها نسخًا احتياطية.
- Webhooks على نطاقك الخاص، عملية للتكاملات الواردة.
- تكلفة قابلة للتنبؤ: سعر VPS واحد، مستقل عن عدد الأتمتات.
المتطلبات العتادية والبرمجية
n8n خفيف بشكل معقول. احسب 1 إلى 2 vCPU و2 GB من الذاكرة RAM للبدء، و2 إلى 4 GB إذا كنت تنفّذ سير عمل ثقيلًا أو متزامنًا، أو إذا ربطت قاعدة بيانات PostgreSQL مخصّصة بدلًا من SQLite. خصّص 5 إلى 10 GB من القرص. أما على الجانب البرمجي: Docker وDocker Compose، ونطاق فرعي (مثل n8n.your-domain.com) يشير إلى عنوان IP الخاص بـ VPS، والمنفذ 443 مفتوح لـ HTTPS وwebhooks الواردة.
انشر n8n مع Docker وHTTPS
تحضير VPS وDocker
عبر SSH، حدّث النظام ثم ثبّت Docker عبر curl -fsSL https://get.docker.com | sh. أنشئ مجلدًا مخصّصًا: mkdir -p /opt/n8n && cd /opt/n8n.
كتابة docker-compose.yml
استخدم صورة n8nio/n8n، ووحدة تخزين ~/.n8n للاستمرارية، واضبط N8N_HOST وWEBHOOK_URL=https://n8n.your-domain.com/ بالإضافة إلى N8N_BASIC_AUTH_ACTIVE=true مع اسم مستخدم وكلمة مرور قويين.
ربط قاعدة بيانات PostgreSQL (اختياري)
للاستخدام الإنتاجي، أضف خدمة postgres إلى ملف compose ووجّه n8n إليها عبر المتغيّرين DB_TYPE=postgresdb وDB_POSTGRESDB_*، وهي أمتن من SQLite تحت الحِمل.
تشغيل الحاوية
نفّذ docker compose up -d ثم docker compose logs -f. يستمع n8n محليًا على 127.0.0.1:5678، غير مكشوف مباشرةً، وهو أمر مقصود.
إعداد الوكيل العكسي
مع Caddy، يكفي سطر واحد: n8n.your-domain.com { reverse_proxy localhost:5678 }. يحصل Caddy على شهادة Let's Encrypt ويجدّدها تلقائيًا.
التحقق من webhooks
أنشئ سير عمل اختباريًا بعقدة Webhook، وشغّله من الخارج، وتأكّد من أن العنوان https://n8n.your-domain.com/webhook/... يستجيب جيدًا عبر الوكيل.
لأتمتة الذكاء الاصطناعي دون تكلفة API خارجية، اجعل n8n يتحاور مع حاوية Ollama على VPS نفسه عبر شبكة Docker الداخلية. تجمع بين التنسيق والتوليد محليًا، ولا تغادر أي بيانات خادمك.
الوثائق الرسمية
للإعدادات المتقدمة والخيارات الخاصة بالأداة، راجع الوثائق الرسمية لـ n8n. يغطّي هذا الدليل النشر على VPS؛ وتبقى وثائق الناشر المرجع للإعدادات الدقيقة والتحديثات الكبرى وحالات الاستخدام الخاصة.