n8n أداة لسير العمل تربط التطبيقات وواجهات API ونماذج الذكاء الاصطناعي بمحرر مرئي. استضافتها بنفسك تعني بقاء سير عملك وبيانات اعتمادك وبياناتك على خادم تتحكم به، وعدم احتساب مرات التشغيل. ينشر هذا الدليل n8n باستخدام Docker Compose وقاعدة بيانات Postgres وHTTPS، جاهزاً لتشغيل وكلاء الذكاء الاصطناعي على مدار الساعة.
لماذا VPS للوكلاء؟
غالباً ما تعمل الوكلاء وفق جداول زمنية أو تتفاعل مع webhooks، لذا تحتاج إلى خادم يعمل دائماً ويمكن الوصول إليه. يمنحك VPS عنواناً ثابتاً لـ webhooks وRAM كافية لإبقاء سير العمل متجاوباً. تناسب خطة 2 vCPU و4 GB إعداداً صغيراً. اطّلع على استضافة وكلاء الذكاء الاصطناعي للأحجام، وأضف خادم GPU إذا أردت نماذج محلية.
قبل أن تبدأ
- VPS مع Docker. اطّلع على تثبيت Docker.
- نطاق يشير إلى الخادم. اطّلع على سجلات DNS.
الخطوة 1: ملف Compose
mkdir -p ~/n8n && cd ~/n8n
cat > compose.yaml <<'YAML'
services:
db:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: n8n
volumes:
- db:/var/lib/postgresql/data
n8n:
image: n8nio/n8n:latest
restart: unless-stopped
depends_on: [db]
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: db
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: ${DB_PASSWORD}
N8N_HOST: n8n.example.com
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.example.com/
N8N_ENCRYPTION_KEY: ${ENCRYPTION_KEY}
GENERIC_TIMEZONE: UTC
ports:
- "127.0.0.1:5678:5678"
volumes:
- n8n:/home/node/.n8n
volumes:
db:
n8n:
YAML
الخطوة 2: الأسرار
cat > .env <<ENV
DB_PASSWORD=$(openssl rand -hex 24)
ENCRYPTION_KEY=$(openssl rand -hex 32)
ENV
chmod 600 .env
انسخ ENCRYPTION_KEY احتياطياً. بدونه لا تستطيع n8n فك تشفير بيانات الاعتماد التي خزّنتها.
الخطوة 3: شغّل n8n
docker compose up -d
docker compose logs -f n8n
الخطوة 4: HTTPS
n8n.example.com {
reverse_proxy 127.0.0.1:5678
}
أعد تحميل Caddy، وافتح الموقع وأنشئ حساب المالك.
الخطوة 5: ابنِ سير عمل لوكيل
- أضف مشغّلاً من نوع Webhook أو Schedule.
- أضف عقدة AI Agent واربط نموذج محادثة، مثل API مستضاف، أو Ollama على خادم GPU الخاص بك.
- امنح الوكيل أدوات مثل طلبات HTTP أو قاعدة بيانات أو عقدة مراسلة.
- اختبر بتشغيل يدوي، ثم فعّل سير العمل.
أبقِه آمناً
- اربط n8n بالعنوان 127.0.0.1 واكشف وكيل HTTPS فقط.
- احمِ الـ webhooks برأس سري أو مسار سري حيثما أمكن.
- انسخ مجلد Postgres ومجلد n8n احتياطياً. اطّلع على النسخ الاحتياطي باستخدام restic أو borg.
- حدّث باستخدام
docker compose pull && docker compose up -dبعد قراءة ملاحظات الإصدار.