n8n ابزاری برای گردشکار است که برنامهها، APIها و مدلهای هوش مصنوعی را با یک ویرایشگر بصری به هم متصل میکند. خودمیزبانی آن یعنی گردشکارها، اعتبارنامهها و دادههای شما روی سروری میمانند که خودتان کنترل میکنید و اجراها محاسبه و محدود نمیشوند. این راهنما n8n را با Docker Compose، پایگاه داده Postgres و HTTPS مستقر میکند تا برای اجرای شبانهروزی عاملهای هوش مصنوعی آماده باشد.
چرا VPS برای عاملها؟
عاملها اغلب طبق زمانبندی اجرا میشوند یا به وبهوکها واکنش نشان میدهند، پس به سروری نیاز دارند که همیشه روشن و در دسترس باشد. VPS یک آدرس ثابت برای وبهوکها و RAM کافی برای روان ماندن گردشکارها فراهم میکند. یک پلن با 2 vCPU و 4 GB برای یک راهاندازی کوچک مناسب است. برای اندازهها میزبانی عامل هوش مصنوعی را ببینید و اگر مدلهای محلی میخواهید یک سرور GPU اضافه کنید.
پیش از شروع
- یک VPS با Docker. نصب Docker را ببینید.
- دامنهای که به سرور اشاره کند. رکوردهای DNS را ببینید.
مرحله ۱: فایل 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
مرحله ۲: رازها
cat > .env <<ENV
DB_PASSWORD=$(openssl rand -hex 24)
ENCRYPTION_KEY=$(openssl rand -hex 32)
ENV
chmod 600 .env
از ENCRYPTION_KEY پشتیبان بگیرید. بدون آن، n8n نمیتواند اعتبارنامههای ذخیرهشده را رمزگشایی کند.
مرحله ۳: راهاندازی n8n
docker compose up -d
docker compose logs -f n8n
مرحله ۴: HTTPS
n8n.example.com {
reverse_proxy 127.0.0.1:5678
}
Caddy را دوباره بارگذاری کنید، سایت را باز کنید و حساب مالک را بسازید.
مرحله ۵: ساخت گردشکار عامل
- یک تریگر Webhook یا Schedule اضافه کنید.
- یک نود AI Agent اضافه کنید و یک مدل گفتگو به آن وصل کنید، مثلاً یک API میزبانیشده یا Ollama روی سرور GPU خودتان.
- به عامل ابزارهایی بدهید، مانند درخواستهای HTTP، یک پایگاه داده یا یک نود پیامرسانی.
- با یک اجرای دستی آزمایش کنید، سپس گردشکار را فعال کنید.
ایمن نگه دارید
- n8n را به 127.0.0.1 متصل کنید و فقط پراکسی HTTPS را در دسترس قرار دهید.
- در صورت امکان از وبهوکها با یک هدر یا مسیر مخفی محافظت کنید.
- از والیوم Postgres و والیوم n8n پشتیبان بگیرید. پشتیبانگیری با restic یا borg را ببینید.
- پس از خواندن یادداشتهای انتشار، با
docker compose pull && docker compose up -dبهروزرسانی کنید.