OffshoreVps
آموزش‌ها4 اکتبر 20267 دقیقه مطالعهنوشته‌ی تیم OffshoreVps

استقرار n8n و عامل‌های هوش مصنوعی با Docker Compose روی VPS

n8n را با Postgres و HTTPS خودمیزبان کنید، یک گردش‌کار عامل هوش مصنوعی بسازید، webhookها را محافظت کنید و از داده‌ها و کلید رمزگذاری پشتیبان بگیرید.

n8n ابزاری برای گردش‌کار است که برنامه‌ها، APIها و مدل‌های هوش مصنوعی را با یک ویرایشگر بصری به هم متصل می‌کند. خودمیزبانی آن یعنی گردش‌کارها، اعتبارنامه‌ها و داده‌های شما روی سروری می‌مانند که خودتان کنترل می‌کنید و اجراها محاسبه و محدود نمی‌شوند. این راهنما n8n را با Docker Compose، پایگاه داده Postgres و HTTPS مستقر می‌کند تا برای اجرای شبانه‌روزی عامل‌های هوش مصنوعی آماده باشد.

پنجره‌ی ترمینال روی یک VPS که دستورهای استقرار n8n و عامل‌های هوش مصنوعی را نشان می‌دهد، با «mkdir -p ~/n8n && cd ~/n8n» شروع می‌شود
نوع دستورهایی که در این راهنما روی سرور خود اجرا می‌کنید.

چرا VPS برای عامل‌ها؟

عامل‌ها اغلب طبق زمان‌بندی اجرا می‌شوند یا به وب‌هوک‌ها واکنش نشان می‌دهند، پس به سروری نیاز دارند که همیشه روشن و در دسترس باشد. VPS یک آدرس ثابت برای وب‌هوک‌ها و RAM کافی برای روان ماندن گردش‌کارها فراهم می‌کند. یک پلن با 2 vCPU و 4 GB برای یک راه‌اندازی کوچک مناسب است. برای اندازه‌ها میزبانی عامل هوش مصنوعی را ببینید و اگر مدل‌های محلی می‌خواهید یک سرور GPU اضافه کنید.

پیش از شروع

مرحله ۱: فایل 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 نمی‌تواند اعتبارنامه‌های ذخیره‌شده را رمزگشایی کند.

گام‌های این راهنما به ترتیب: ۱. چرا VPS برای عامل‌ها؟؛ ۲. پیش از شروع؛ ۳. رازها؛ ۴. راه‌اندازی n8n؛ ۵. ساخت گردش‌کار عامل؛ ۶. ایمن نگه دارید
گام‌های این راهنما به ترتیب.

مرحله ۳: راه‌اندازی n8n

docker compose up -d
docker compose logs -f n8n

مرحله ۴: HTTPS

n8n.example.com {
  reverse_proxy 127.0.0.1:5678
}

Caddy را دوباره بارگذاری کنید، سایت را باز کنید و حساب مالک را بسازید.

مرحله ۵: ساخت گردش‌کار عامل

  1. یک تریگر Webhook یا Schedule اضافه کنید.
  2. یک نود AI Agent اضافه کنید و یک مدل گفتگو به آن وصل کنید، مثلاً یک API میزبانی‌شده یا Ollama روی سرور GPU خودتان.
  3. به عامل ابزارهایی بدهید، مانند درخواست‌های HTTP، یک پایگاه داده یا یک نود پیام‌رسانی.
  4. با یک اجرای دستی آزمایش کنید، سپس گردش‌کار را فعال کنید.

ایمن نگه دارید

  • n8n را به 127.0.0.1 متصل کنید و فقط پراکسی HTTPS را در دسترس قرار دهید.
  • در صورت امکان از وب‌هوک‌ها با یک هدر یا مسیر مخفی محافظت کنید.
  • از والیوم Postgres و والیوم n8n پشتیبان بگیرید. پشتیبان‌گیری با restic یا borg را ببینید.
  • پس از خواندن یادداشت‌های انتشار، با docker compose pull && docker compose up -d به‌روزرسانی کنید.