گرمای تابستان — همه‌چیز آب می‌شود، حتی قیمت‌های ما.−25%−۲۵٪ روی هر پلن سالانه، تا ۳۱ اوتدیدن پلن‌ها
EQVPS

n8n را روی یک VPS با Docker خودمیزبان کنید

25 خرداد 1405 · 3 دقیقه مطالعه · EQVPS Team

n8n از آن ابزارهایی است که سبک شروع به استفاده‌اش می‌کنید و بعد بی‌سروصدا نیمی از عملیاتتان را از دلش عبور می‌دهید. در همین نقطه است که «روی صندلی ابر کس دیگر اجرا می‌شود، به‌ازای هر اجرا کنتور می‌خورد، و کلیدهای API من روی سرورهایشان زندگی می‌کنند» کمتر عالی به نظر می‌رسد. خودمیزبانی هر سه را حل می‌کند — هزینه‌ی ثابت، بدون سقف اجرا، و کلیدهایتان روی دستگاهی که مالکش هستید می‌مانند. با Docker این یک کار پانزده‌دقیقه‌ای است.

واقعاً چقدر سرور لازم دارد

اول اعداد صادقانه، تا نه زیادی بخرید نه کم:

n8n در حالت استراحت گرسنه‌ی CPU نیست؛ در حین اجراها اوج می‌گیرد. یک دستگاه ۲ هسته‌ای برای اکثر راه‌اندازی‌ها کافی است. (بیشتر درباره‌ی تطبیق مشخصات با بار کاری در راهنمای انتخاب اندازه.)

راه‌اندازی Docker

روی یک دستگاه تازه‌ی Ubuntu/Debian، Docker را نصب کنید:

curl -fsSL https://get.docker.com | sudo sh

یک پوشه و یک docker-compose.yml بسازید — n8n با یک volume ماندگار و Postgres:

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.yourdomain.com/
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=db
      - DB_POSTGRESDB_PASSWORD=change-me
    volumes:
      - ./n8n-data:/home/node/.n8n
    depends_on: [db]
  db:
    image: postgres:16
    restart: always
    environment:
      - POSTGRES_PASSWORD=change-me
      - POSTGRES_DB=n8n
    volumes:
      - ./db-data:/var/lib/postgresql/data
sudo docker compose up -d

دو نکته که ارزش اشاره دارند: volumeها (n8n-data, db-data) همان چیزی هستند که workflowهایتان را در طول ری‌استارت‌ها و ارتقاءها زنده نگه می‌دارند — از آن‌ها صرف‌نظر نکنید. و n8n به 127.0.0.1 گره خورده، نه 0.0.0.0مستقیم در معرض اینترنت نیست. این عمدی است؛ گام بعدی دسترسی را ایمن مدیریت می‌کند.

دسترسی: HTTPS یا یک تونل

قفلش کنید و بالا نگهش دارید

n8n کلیدهای API و اعتبارنامه‌های شما را نگه می‌دارد، پس دستگاه باید محکم باشد: چک‌لیست امنیتی را (کلیدهای SSH، فایروال، بدون ورود با رمز عبور) قبل از اینکه اعتبارنامه‌های واقعی داخلش بگذارید انجام دهید. restart: always در فایل compose همین‌حالا یعنی Docker بعد از کرش یا ری‌بوت n8n را برمی‌گرداند — این آپتایم شما را حل کرده.

آیا ارزشش را دارد؟

با خودتان درباره‌ی حجم صادق باشید. اگر مدام اتوماسیون اجرا می‌کنید، خودمیزبانی روی هزینه (ثابت در برابر به‌ازای هر اجرا) برنده است و هر محدودیت workflow/اجرا را برمی‌دارد. اگر ماهی چند flow را تریگر می‌کنید، یک صندلی میزبانی‌شده دردسر کمتری دارد. اما استدلال کنترل صرف‌نظر از این پابرجاست: workflowهای شما، داده‌ی شما، کلیدهای شما — روی سرور شما، نه اجاره‌ای. برای اکثر کسانی که جدی وارد n8n شدند، همین عامل تعیین‌کننده است.

یک دستگاه ۲ گیگابایتی، یک فایل compose، یک دامنه (یا یک تونل)، و شما هاب اتوماسیون خودتان را اجرا می‌کنید — قابل‌پرداخت با رمزارز بدون KYC، در چند دقیقه فعال.


راه‌اندازی آماده: VPS برای n8n را ببینید — پلن پیشنهادی و یک استقرار یک‌دقیقه‌ای با رمزارز.

سؤالات متداول

n8n خودمیزبان چقدر RAM لازم دارد؟

حدود ۲ گیگابایت نقطه‌ی طلایی راحت برای n8n به‌علاوه‌ی پایگاه‌داده‌ی Postgres آن و workflowهای معمولی است. در ۱ گیگابایت هم اجرا می‌شود اگر workflowها سبک باشند، اما در اجراهای بزرگ‌تر آن را حس می‌کنید. اجراهای موازی سنگین یا payloadهای بزرگ — به ۴ گیگابایت بروید.

آیا برای خودمیزبانی n8n به Docker نیاز دارم؟

این به‌مراتب آسان‌ترین راه است — یک فایل compose به شما n8n، یک پایگاه‌داده و ذخیره‌سازی ماندگار می‌دهد، و ارتقاءها یک pull واحد هستند. می‌توانید به‌جایش با npm نصب کنید، اما Docker شما را از دردسرهای وابستگی و ارتقاء نجات می‌دهد.

آیا خودمیزبانی n8n ارزان‌تر از n8n cloud است؟

اگر یک جریان پیوسته از اتوماسیون‌ها اجرا می‌کنید، بله — یک VPS ماهانه‌ی ثابت بر قیمت‌گذاری به‌ازای هر اجرا می‌چربد، و هیچ سقفی برای workflow یا اجرا نیست. برای مشتی اجرا در ماه، یک صندلی میزبانی‌شده شاید ساده‌تر باشد. دلیل دیگر خودمیزبانی مردم کنترل است: داده و کلیدهای API شما هرگز سرورتان را ترک نمی‌کنند.

آیا برای n8n به یک دامنه نیاز دارم؟

برای نودهای مبتنی بر OAuth (Google و غیره) و HTTPS تمیز، بله — یک دامنه را به سرور اشاره دهید و n8n را پشت یک reverse proxy با گواهی قرار دهید. برای استفاده‌ی صرفاً داخلی می‌توانید بدون دامنه از طریق یک تونل SSH به آن برسید.

آیا n8n روی یک VPS با NAT اجرا می‌شود یا به IP اختصاصی نیاز دارم؟

استفاده‌ی داخلی/تونل SSH روی یک دستگاه NAT کار می‌کند. اگر یک URL عمومی با دامنه‌ی خودتان و HTTPS می‌خواهید (که برای بعضی callbackهای OAuth و وبهوک‌ها لازم است)، یک پلن با IP اختصاصی گزینه‌ی تمیزتری است چون همه‌ی پورت‌ها را کنترل می‌کنید.

← بازگشت به وبلاگ← پلن‌ها و قیمت‌ها

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.