لماذا تستضيف محرك الأتمتة ذاتياً
منصات الأتمتة مثل Zapier وMake تفرض فوترة لكل تنفيذ وحصصاً تتجاوز بسرعة. باستضافة n8n أو Node-RED ذاتياً على VPS، تُزيل هذه القيود: تنفيذات غير محدودة، وبيانات لا تغادر خادمك أبداً، ووصول كامل لعقد المجتمع. n8n موجَّه نحو تكاملات التطبيقات (CRM، قواعد البيانات، الذكاء الاصطناعي، webhooks). أما Node-RED المنبثق من IBM، فيعالج رسائل JSON عبر نظام تدفق قائم على الأحداث، مثالي لتوصيل مستشعرات MQTT أو تحويل الـpayloads أو تنسيق الأجهزة. كلاهما يعمل في حاويات ويُدار عبر المتصفح.
ما تكسبه بالاستضافة الذاتية
- تنفيذات غير محدودة بدون فوترة لكل مهمة، على عكس منصات الأتمتة الـSaaS.
- البيانات والأسرار (رموز API، بيانات الاعتماد) مخزّنة حصراً على VPS الخاص بك.
- الوصول إلى عقد ومكاملات المجتمع غير المتاحة في العروض السحابية المقيّدة.
- إمكانية تشغيل كود مخصص (JavaScript، Python) بدون قيود sandbox.
- تكامل مباشر مع خدماتك الداخلية عبر شبكة Docker الخاصة.
- تحكم كامل بالإصدارات والتحديثات بدون تغييرات تسعير مفروضة.
مقارنة n8n مقابل Node-RED
مرّر الجدول أفقيًا
| المعيار | n8n | Node-RED |
|---|---|---|
| حالة الاستخدام الأساسية | تكامل SaaS API، سير العمل التجاري | IoT، MQTT، معالجة التدفق الفوري |
| نموذج التنفيذ | سير عمل مُشغَّل (cron، webhook، trigger) | تدفق قائم على الأحداث موجَّه بالرسائل |
| كتالوج التكاملات | 400+ عقدة تطبيقية جاهزة للاستخدام | مكتبة عقد مجتمعية عبر مدير الـpalette |
| الكود المخصص | عقد Code مدمجة (JS/Python) | عقد Function بـJavaScript |
| قاعدة البيانات | SQLite افتراضياً، PostgreSQL موصى به | ملفات JSON على القرص |
| RAM الموصى بها | 1 إلى 2 جيجابايت | 512 ميجابايت إلى 1 جيجابايت |
| الترخيص | Sustainable Use License (fair-code) | Apache 2.0 |
| منحنى التعلم | سهل الوصول، مناسب لغير المطورين | منطق تدفق، أكثر تقنية |
المتطلبات الأساسية حسب الأداة
لـn8n، خطط لـVPS بـ2 vCPU وذاكرة وصول عشوائي 2 جيجابايت، واستخدم PostgreSQL بدلاً من SQLite بمجرد تجاوز عدة سير عمل نشطة: SQLite يُقفّل قاعدة البيانات تحت الحمل المتزامن. خصص 5 جيجابايت من القرص لقاعدة البيانات وملفات التنفيذ. Node-RED أكثر اقتصاداً: 1 vCPU وجيجابايت من الذاكرة يكفيان، إذ تُخزَّن تدفقاته في ملفات JSON بسيطة. في كلتا الحالتين: Docker Compose v2، ونطاق فرعي مخصص وبروكسي عكسي HTTPS إلزاميان.
نشر n8n (أو Node-RED) على VPS الخاص بك
تهيئة Docker والشبكة
على VPS، أنشئ شبكة Docker مخصصة:
docker network create automation. ستعزل n8n/Node-RED عن قاعدة البيانات والبروكسي العكسي.تشغيل PostgreSQL لـn8n
في ملف docker-compose، أضف خدمة
postgres:16مع volume دائم وبيانات الاعتماد كمتغيرات بيئية. لـNode-RED، تخطَّ هذه الخطوة: volume data:/dataيكفي.تكوين حاوية التطبيق
لـn8n، استخدم صورة
docker.n8n.io/n8nio/n8nمعN8N_HOSTوWEBHOOK_URL=https://n8n.domainك.com/وDB_TYPE=postgresdb. لـNode-RED، صورةnodered/node-red:latestالمكشوفة على المنفذ1880تكفي.التشغيل والتحقق
شغّل
docker compose up -d. n8n يستمع على5678، Node-RED على1880. تحقق من السجلات بـdocker compose logs -fوأكد اتصال قاعدة البيانات لـn8n.التأمين خلف بروكسي عكسي
مرِّر الحركة عبر Caddy أو Traefik مع شهادة Let's Encrypt التلقائية. فعّل المصادقة:
N8N_BASIC_AUTH_ACTIVE=trueلـn8n، وتوجيهadminAuthفيsettings.jsلـNode-RED.إعداد النسخ الاحتياطية
جدوِل
pg_dumpيومياً لقاعدة بيانات n8n، أو لقطة بسيطة لـvolume /dataلـNode-RED، ومودعة على تخزين خارجي عبرcron.
لـn8n في الإنتاج، فعّل وضع queue مع Redis وحاويات عمال منفصلة: العملية الرئيسية تُنسّق فقط بينما يُنفِّذ العمال العقد بالتوازي. هذا يستوعب ذروات webhook دون حجب المحرر. لـNode-RED، عزل عقد Function في سياق VM مع functionGlobalContext مقيّد لمنع تدفق مكتوب بشكل سيئ من تعطيل وقت التشغيل بأكمله.
n8n مقابل Node-RED: اختلافات الترخيص ونموذج العمل
اختلاف الترخيص هو أول معيار يجب تقييمه قبل أي نشر مؤسسي. Node-RED منشور تحت ترخيص Apache 2.0: يمكنك استخدامه وتعديله ودمجه في منتج تجاري بدون قيود أو رسوم. n8n يستخدم Sustainable Use License (المعروف أيضاً بـfair-code): الاستخدام الشخصي والمشاريع الداخلية مجانية، لكن إذا دمجت n8n في منتج أو خدمة تُتاجر بها، أو عرضته لأطراف ثالثة كخدمة مُدارة، يلزم ترخيص Enterprise مدفوع. Node-RED لا غموض فيه: Apache 2.0 يشمل جميع الاستخدامات التجارية بدون شروط تقييدية. هذا الاختيار للترخيص يعكس نموذج عمل كل مشروع: n8n شركة تجارية تُدرّ المال من نسختها السحابية وتراخيص Enterprise؛ Node-RED مشروع OpenJS Foundation بدون كيان تجاري خلفه.
مقارنة موارد الخادم
مرّر الجدول أفقيًا
| المورد | n8n | Node-RED |
|---|---|---|
| vCPU الموصى به | 2 vCPU (الحد الأدنى: 1) | 1 vCPU (يعمل على Raspberry Pi) |
| RAM الموصى بها | 2 جيجابايت (1 جيجابايت ممكن للاستخدام الصغير) | 512 ميجابايت إلى 1 جيجابايت |
| القرص (التطبيق) | ~500 ميجابايت صورة + 2-5 جيجابايت PostgreSQL | ~300 ميجابايت صورة + بضعة ميجابايتات JSON |
| قاعدة البيانات | PostgreSQL (إنتاج) أو SQLite (تطوير) | ملفات JSON على volume |
| Redis (اختياري) | مطلوب لوضع queue متعدد العمال | غير ضروري |
| الاستخدام edge/المُضمَّن | غير مناسب (ثقيل جداً) | نعم — Raspberry Pi، ESP32 عبر MQTT |
حالات الاستخدام: n8n لتكاملات SaaS، Node-RED لـIoT/edge
تعكس موضعة كل أداة بنيتها الداخلية. n8n يتألق في تكاملات SaaS: مزامنة Slack ↔ Notion، إرسال بيانات Stripe إلى CRM، تشغيل سير عمل GitHub من webhook، إثراء العملاء المحتملين عبر API للذكاء الاصطناعي، أو تنسيق مسارات البيانات بين Airtable وPostgreSQL. Node-RED مصمم لمعالجة التدفق منخفض المستوى وIoT: الاتصال بوسطاء MQTT لاستقبال بيانات المستشعرات، تحويل الـpayloads لإطعام قاعدة بيانات زمنية مثل InfluxDB، أتمتة المنازل عبر Home Assistant، أو توجيه أحداث الأجهزة في الوقت الفعلي. يمكن للأداتين التعايش: Node-RED يجمع البيانات الآلية ويُطبّعها، n8n يستهلكها عبر webhook لتشغيل إجراءات SaaS.
الترحيل من Node-RED إلى n8n (أو العكس)
تصدير التدفقات الحالية
في Node-RED، صدِّر التدفقات عبر قائمة الهامبرغر → Export → Clipboard (تنسيق JSON). لـn8n، استخدم Settings → Export → Download all workflows.
تحديد العقد المكافئة
ضع قائمة بالعقد المستخدمة وابحث عن مكافئها في الأداة الأخرى. عقد MQTT لـNode-RED تقابل عقد MQTT لـn8n؛ عقد HTTP Request موجودة في كلا الجانبين. العقد المتخصصة (InfluxDB، OPC-UA) قد لا يوجد لها مكافئ مباشر في n8n.
إعادة الإنشاء يدوياً على staging
لا يوجد محوّل تلقائي بين التنسيقين. أعد إنشاء سير العمل يدوياً في بيئة staging معزولة. ابدأ بالتدفقات الأبسط للتحقق من المنطق قبل التدفقات الحرجة.
التحقق من الـwebhooks والمُشغِّلات
webhooks لـn8n تستخدم تنسيق URL
/webhook/<uuid>مختلفاً عن Node-RED. حدِّث جميع الأنظمة التي تستدعي هذه الـURLs.تبديل الحركة والمراقبة
بعد التحقق على staging، بدِّل webhooks المصادر واحداً تلو الآخر نحو الأداة الجديدة. احتفظ بالقديمة نشطة بالتوازي لأيام قليلة لمقارنة أحجام التنفيذ.
متى تختار Node-RED بدلاً من n8n
- مشروعك يتضمن أجهزة متصلة: مستشعرات MQTT، GPIO، بروتوكولات صناعية (OPC-UA، Modbus) — Node-RED مصمم لذلك.
- تحتاج ترخيص مفتوح المصدر 100% بدون بند استخدام تجاري: Apache 2.0 لا قيود عليه.
- مواردك محدودة: Raspberry Pi، VPS 512 ميجابايت، أو جهاز edge — Node-RED يعمل حيث لا يستطيع n8n.
- بنيتك التقنية تتضمن وسيط MQTT (Mosquitto، EMQX) وقاعدة بيانات زمنية (InfluxDB): Node-RED يتكامل معها بشكل أصيل.
- فريقك تقني ومرتاح لنموذج التدفق/الرسائل: Node-RED منحنى تعلمه أشد لكنه أكثر مرونة للتدفقات منخفضة المستوى.
- تريد تجنب الاعتماد على كيان تجاري: Node-RED تحكمه OpenJS Foundation بدون خطر تغيير الترخيص.
يمكنك نشر n8n وNode-RED على نفس VPS عبر Docker Compose، بمنحهما منافذ مختلفة (5678 لـn8n، 1880 لـNode-RED) وعزلهما على شبكات Docker منفصلة. أنشئ شبكة automation-n8n لـn8n + PostgreSQL + Redis، وشبكة automation-nodered لـNode-RED + Mosquitto. البروكسي العكسي هو نقطة الاتصال الوحيدة بين الشبكتين والخارج. يرسل تدفق Node-RED بياناته عبر webhook إلى n8n، مما يحافظ على اقتران خفيف ويُبسّط الترحيل المستقبلي. تتيح هذه البنية استخدام Node-RED لجمع بيانات IoT وn8n للإجراءات على خدمات SaaS على نفس الجهاز، دون أن يتواصل الـruntimeان مباشرةً.