استضافة n8n ذاتيًا على خادمك الخاص
n8n أداة أتمتة تربط التطبيقات وتتيح لك بناء مسارات عمل. يمكنك تشغيله على VPS خاص بك بـ Docker. تشرح الوثائق الرسمية إعدادًا بـ Docker Compose وتوصي بالاستضافة الذاتية لمن لديه خبرة تقنية. ولا تذكر أدلة التثبيت رقمًا للمعالج أو RAM أو القرص، لذا من المنطقي أن تبدأ بخادم صغير وترفع الحجم وأنت تراقب.
يتناول هذا المقال الترخيص وخطوات الإعداد والإعدادات المهمة والنسخ الاحتياطي والتحديث.
ماذا تبني بـ n8n؟
مسار العمل في n8n هو مشغّل (trigger) إضافة إلى الخطوات المتصلة به. ويمكن أن يكون المشغّل جدولًا زمنيًا أو webhook أو حدثًا في تطبيق آخر. أمثلة نموذجية: كتابة إرسال نموذج في جدول بيانات، أو إبلاغ الفريق بطلب جديد، أو جمع تقرير كل صباح وإرساله بالبريد. وتبني مسارات العمل في محرر مرئي في المتصفح. لا تلزم كتابة شيفرة، لكن يمكنك إضافة خطوة شيفرة إن أردت.
لماذا تشغّله على خادمك الخاص؟
- تبقى مسارات عملك وبيانات الاتصال المحفوظة على خادمك.
- تستمر مسارات العمل المجدولة في العمل على الخادم بينما حاسوبك مطفأ، ويمكن لـ webhooks تشغيلها من الخارج.
- يتحدد حد استخدامك بقوة خادمك، وإذا لم يكفِ فإنك ترفع حجم الخادم.
- وفي المقابل تقع الصيانة عليك: التحديثات والنسخ الاحتياطي والأمان.
الترخيص: ماذا يتيح الاستخدام المجاني؟
n8n ليس مفتوح المصدر. فهو بوصف أصحابه برنامج "fair-code". المصدر متاح، لكن Sustainable Use License تقيّد الاستخدام التجاري. وبحسب صفحة الترخيص الرسمية، يمكنك استخدامه مجانًا للعمليات الداخلية لشركتك وللمشاريع الشخصية أو غير التجارية. وبناء مسارات عمل للعملاء كاستشارات مدفوعة جائز أيضًا، ما دام العملاء لا يحصلون على وصول إلى n8n نفسه. أما تقديم خدمة يسجّل فيها العملاء الدخول إلى n8n لبناء مسارات عملهم أو تعديلها (استضافة n8n كخدمة) فيحتاج إلى ترخيص تجاري. وللحالات الحدّية، اسأل فريق التراخيص في n8n.
خطوات الإعداد
تتبع هذه الخطوات دليل Docker Compose الرسمي. يحصل الدليل على شهادة HTTPS ويجددها عبر وكيل عكسي يسمى Traefik.
- جهّز خادم Linux مثبّتًا عليه Docker Engine وDocker Compose. تحقق بالأمرين
docker --versionوdocker compose version. - أضف سجل A يوجّه نطاقًا فرعيًا من نطاقك (مثل
n8n.example.com) إلى عنوان IP الخادم. يرشدك كيفية ربط نطاقك الخاص خطوة بخطوة. - أنشئ الملفين
.envوcompose.yamlمن الدليل الرسمي على الخادم. - املأ
DOMAIN_NAMEوSUBDOMAINوGENERIC_TIMEZONEوSSL_EMAILفي.env. استخدمEurope/Istanbulللمنطقة الزمنية. وإذا تركتها فارغة فالافتراضي هو نيويورك. - شغّله:
docker compose up -d - افتح نطاقك الفرعي في المتصفح وأنشئ حساب المالك فورًا. من يملأ تلك الشاشة أولًا يصبح المالك.
إعدادات ينبغي أن تعرفها
| المتغير | وظيفته |
|---|---|
N8N_HOST وN8N_PROTOCOL | اسم المضيف الذي يعمل عليه n8n والبروتوكول (https) |
N8N_WEBHOOK_URL | خلف وكيل عكسي لا يستطيع n8n معرفة عنوانه الخارجي. أدخل عنوان HTTPS العام لديك لتظهر عناوين webhook على نحو صحيح. ما زال الاسم القديم WEBHOOK_URL يعمل في الإصدارات الحالية لكنه مهجور. وفي إصدار أقدم ينطبق الاسم القديم وحده، فراجع وثائق إصدارك. |
GENERIC_TIMEZONE وTZ | المنطقة الزمنية لعقد الجدولة |
N8N_ENCRYPTION_KEY | المفتاح الذي يشفّر بيانات الاتصال المحفوظة |
لعقدة Webhook عنوانان: عنوان الاختبار يعمل أثناء تحرير مسار العمل، وعنوان الإنتاج يعمل بعد تفعيله. أعطِ الخدمات الخارجية عنوان الإنتاج. ويأتي بداية العنوان من قيمة N8N_WEBHOOK_URL، فإذا كانت هذه القيمة خاطئة، لا تستطيع الخدمات الخارجية الوصول إلى مسار عملك.
مفتاح التشفير والنسخ الاحتياطي
عند أول تشغيل ينشئ n8n مفتاح تشفير عشوائيًا ويحفظه في مجلد بياناته (/home/node/.n8n). وتُشفَّر اتصالاتك المحفوظة به. ولا يمكن فك تشفير بيانات الاتصال في قاعدة بيانات مستعادة بدون المفتاح. احتفظ بنسخة منفصلة من المفتاح.
- ما الذي تنسخه احتياطيًا: تحتوي وحدة التخزين (
n8n_data) على قاعدة SQLite الافتراضية والمفتاح. أوقف n8n قبل النسخ. وإذا كنت تستخدم PostgreSQL فانسخ قاعدة البيانات احتياطيًا على حدة بأدواتها. - تصدير سريع: تعمل أوامر n8n داخل الحاوية. الأمر
docker compose exec n8n n8n export:workflow --backup --output=/home/node/.n8n/backups/workflows/والأمرdocker compose exec n8n n8n export:credentials --backup --output=/home/node/.n8n/backups/credentials/يكتبان مسارات العمل والاتصالات في وحدة البيانات. لا يشمل ذلك المستخدمين وسجل التنفيذ والإعدادات، فلا يكفي لاستعادة كاملة. - النسخ الاحتياطي للخادم: تنسخ Seturack خادمك احتياطيًا كل ليلة وتحتفظ بآخر 7 أيام. وهذا يشمل بيانات n8n أيضًا، لكن من الجيد تصدير مسارات عملك الحرجة على حدة.
الموارد وقاعدة البيانات
لا تذكر أدلة التثبيت الرسمية رقمًا للمعالج أو الذاكرة. وكقاعدة تقريبية، تعمل مسارات العمل الخفيفة قليلة التكرار على خادم صغير، أما التي تعالج ملفات كبيرة أو بيانات كثيرة فتحتاج إلى ذاكرة. راقب الاستخدام الفعلي للحاوية بالأمر docker stats. وقاعدة البيانات الافتراضية هي SQLite. وللاستخدام الكثيف تنتقل إلى PostgreSQL بالإعداد DB_TYPE=postgresdb، وتُبقي وحدة تخزين مجلد البيانات.
إذا لم يكفِ الخادم، ارفع حجمه من اللوحة. يبقى عنوان IP وبياناتك كما هي، ولا تتغير عناوين webhook لديك.
التحديث
يصف الدليل الرسمي التحديث بثلاثة أوامر: docker compose pull وdocker compose down وdocker compose up -d. خذ نسخة احتياطية أولًا واقرأ ملاحظات الإصدار. وتحديثات نظام التشغيل والتطبيقات عليك بعد الإعداد.
الأمان
- افتح n8n عبر HTTPS فقط. ويتبع الدليل الرسمي النهج نفسه.
- أنشئ حساب المالك فور الإعداد واختر كلمة مرور قوية.
- أبقِ المنافذ 22 و80 و443 وحدها مفتوحة في جدار الحماية. ولأن Docker يتجاوز قواعد ufw في المنافذ التي ينشرها، فلا تنشر المنفذ 5678 الخاص بـ n8n إلى الخارج.
إذا فضّلت تخطي هذه الخطوات، فاختر خادمك مع n8n مثبّتًا مسبقًا. وإذا كنت ستثبّته بنفسك، فابدأ من خادم مثبّت عليه Docker.
التعليقات0
لا توجد تعليقات بعد
كن أول من يشارك رأيه.
يرجى تسجيل الدخول أو إنشاء حساب لترك تعليق.