تخطّ إلى المحتوى
AISI
𝕏
دليل إرشادي

مسار n8n — الجزء 5: النشر الإنتاجي والأمان

دليل شامل لنشر n8n في بيئة إنتاجية آمنة مع Docker Compose وHTTPS والنسخ الاحتياطي.

15 دقائق قراءة AutomationSecurity

الاستعداد لبيئة الإنتاج (Production)

الكثير من المطورين يبدؤون باستخدام n8n عبر أوامر NPM البسيطة أو بتثبيت Docker سريع لتجربة الأداة. لكن عندما يتحول n8n ليصبح المحرك الأساسي لعمليات المنظمة (أتمتة الفواتير، بيانات العملاء، رسائل البريد)، فإن بيئة التطوير المحلية لم تعد كافية. في هذا الجزء الأخير من مسار n8n، سنغطي أفضل الممارسات لنشر (Deploy) المنصة في بيئة إنتاجية آمنة بنسبة 100% ومستقرة.

1. استخدام Docker Compose مع قاعدة بيانات منفصلة

بشكل افتراضي، يستخدم n8n قاعدة بيانات SQLite مدمجة. في بيئة الإنتاج، هذا الخيار يعتبر كارثياً لأنه يعوق التوسع (Scaling) ويزيد من احتمالية تلف البيانات. يجب عليك ربط n8n بقاعدة بيانات PostgreSQL صلبة.

مثال لملف docker-compose.yml المثالي للإنتاج:


version: "3.8"

services:
  postgres:
    image: postgres:15
    restart: always
    environment:
      - POSTGRES_USER=n8n_user
      - POSTGRES_PASSWORD=strong_password
      - POSTGRES_DB=n8n
    volumes:
      - db_storage:/var/lib/postgresql/data

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n_user
      - DB_POSTGRESDB_PASSWORD=strong_password
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=super_secure
      - WEBHOOK_URL=https://n8n.yourdomain.com/
    ports:
      - "5678:5678"
    volumes:
      - n8n_storage:/home/node/.n8n
    depends_on:
      - postgres

volumes:
  db_storage:
  n8n_storage:

2. تأمين الاتصال (HTTPS) والوكيل العكسي

لا يجب أبداً إرسال مفاتيح ה-API الخاصة بك أو بيانات العملاء عبر بروتوكول HTTP غير مشفر. نوصي باستخدام وكيل عكسي (Reverse Proxy) مثل Nginx، Traefik، أو Caddy ليعمل كبوابة بين الإنترنت وحاوية n8n، ويتولى إصدار شهادات SSL مجانية وتجديدها تلقائياً عبر Let’s Encrypt. (أو يمكنك استخدام منصة Coolify التي تدير هذا الأمر بضغطة زر).

3. التحكم في الوصول والمصادقة (Access Control)

يحتوي n8n على نظام إدارة مستخدمين مدمج (User Management). بمجرد إطلاق المنصة:

  • قم بإنشاء حساب إداري بكلمة مرور معقدة وتفعيل المصادقة الثنائية (2FA) إذا كانت متاحة.
  • لا تستخدم الحساب الإداري للمهام اليومية. قم بإنشاء حسابات بصلاحيات محددة لأعضاء الفريق الذين يقومون ببناء المسارات فقط، لضمان عدم قدرتهم على مسح الإعدادات الأساسية بالخطأ.

4. استراتيجية النسخ الاحتياطي (Backups)

يحتفظ n8n ببيانات حساسة في مجلدين: قاعدة بيانات PostgreSQL (التي تحتوي على مسارات العمل وبيانات التنفيذ)، ومجلد /home/node/.n8n (الذي يحتوي على مفاتيح التشفير الخاصة ببيانات الاعتماد Credentials). لفقدان مفتاح التشفير عواقب وخيمة، إذ لن تتمكن من فك تشفير رموز (Tokens) الـ API الخاصة بك مجدداً.

  • قم بإعداد سكربت Cron يقوم بعمل pg_dump لقاعدة البيانات يومياً.
  • قم بنسخ ملف التشفير (غالباً يسمى encryptionKey) واحفظه في مدير كلمات مرور آمن (مثل 1Password) خارج الخادم تماماً.
  • ارفع النسخ الاحتياطية دورياً إلى تخزين سحابي معزول (S3 Bucket) مع تفعيل سياسة الحذف التلقائي بعد 30 يوماً.

الخلاصة

الانتقال بـ n8n إلى الإنتاج يعني التحول من التفكير في “كيفية بناء سير العمل” إلى “كيفية ضمان استمرار عمله بشكل آمن”. باتباع معايير البنية التحتية، قواعد البيانات الصلبة، التشفير الصارم، والنسخ الاحتياطي اللامركزي، ستبني آلة أتمتة مؤسسية يعتمد عليها بالكامل.