برنامه نویسی

راهنمای کامل نصب n8n روی سرور مجازی (VPS) اوبونتو

در دنیای دیجیتال امروز، کسب‌وکارها با ابزارها و سرویس‌های آنلاین متعددی کار می‌کنند. هماهنگ کردن این ابزارها، انتقال داده بین آن‌ها و خودکارسازی فرآیندهای تکراری، یکی از بزرگترین چالش‌ها برای افزایش بهره‌وری است. ابزارهایی مانند Zapier این مشکل را حل می‌کنند، اما با محدودیت‌ها و هزینه‌های قابل توجه. اما اگر راهی وجود داشت که بتوانید یک پلتفرم اتوماسیون شخصی، بدون محدودیت و با حفظ کامل حریم خصوصی داده‌ها داشته باشید چه؟

n8n پاسخ این سوال است. یک ابزار اتوماسیون قدرتمند و متن-باز که به شما اجازه می‌دهد آن را روی سرور شخصی خود میزبانی کنید.

در این راهنمای جامع، ما قدم به قدم به شما نشان می‌دهیم که چگونه پلتفرم n8n را روی سرورهای مجازی پرسرعت سرو دیتا نصب و پیکربندی کنید تا کنترل کامل اتوماسیون فرآیندهای خود را در دست بگیرید.

چرا n8n را روی سرور مجازی شخصی میزبانی کنیم؟

قبل از شروع مراحل فنی، بیایید ببینیم چرا میزبانی شخصی n8n یک انتخاب هوشمندانه برای کسب‌وکارهای جدی است:

  • مالکیت کامل داده‌ها: وقتی n8n روی سرور شماست، تمام اطلاعات حساس و توکن‌های دسترسی (API Tokens) در زیرساخت امن شما باقی می‌مانند. این برای حفظ حریم خصوصی مشتریان و امنیت داده‌ها حیاتی است.
  • بدون محدودیت، بدون هزینه اضافی: برخلاف سرویس‌های ابری که شما را بر اساس تعداد تسک‌ها یا گردش‌کارها محدود می‌کنند، در نسخه شخصی شما هیچ محدودیتی ندارید. هزاران فرآیند را با همان هزینه ثابت سرور خود اجرا کنید.
  • عملکرد و پایداری: اجرای گردش‌کارهای پیچیده نیازمند منابع پردازشی قابل اعتماد است. سرورهای مجازی سرودیتا با آپ‌تایم بالا و قدرت پردازشی فوق‌العاده، تضمین می‌کنند که فرآیندهای اتوماسیون شما بدون وقفه و با بالاترین سرعت اجرا شوند.
  • انعطاف‌پذیری بی‌نظیر: شما کنترل کامل بر روی محیط اجرایی دارید. می‌توانید نسخه‌ها را مدیریت کنید، تنظیمات پیشرفته را تغییر دهید و آن را در کنار سایر نرم‌افزارهای خود نصب کنید.

پیش‌نیازها

برای شروع این ماجراجویی، تنها به سه چیز نیاز دارید:

  • یک سرور مجازی (VPS): یک سرور با حداقل ۱ گیگابایت رم و سیستم عامل Ubuntu 22.04. پیشنهاد ما استفاده از پلن‌های متنوع سرور مجازی اروپای سرو دیتا است.
  • یک دامنه (Domain): برای دسترسی آسان و امن به داشبورد n8n.

مراحل نصب و راه‌اندازی n8n

ما از Docker برای نصب استفاده می‌کنیم، زیرا این روش فرآیند را بسیار ساده، تمیز و قابل مدیریت می‌کند.

گام اول: اتصال به سرور و نصب Docker
ابتدا از طریق SSH به سرور خود متصل شوید. سپس با اجرای دستورات زیر، Docker و ابزارهای مورد نیاز آن را نصب کنید.

1. به‌روزرسانی لیست پکیج‌های سرور

sudo apt update & apt upgrade -y

2. نصب پیش‌نیازهای Docker

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

3. افزودن کلید GPG رسمی Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

4. افزودن ریپازیتوری Docker به منابع APT

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. نصب نهایی Docker Engine و Docker Compose

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

6. افزودن کاربر فعلی به گروه Docker برای اجرای دستورات بدون sudo

sudo usermod -aG docker ${USER}

گام دوم: ایجاد فایل‌های پیکربندی

حالا ساختار پروژه n8n را ایجاد می‌کنیم. یک پوشه برای پروژه ایجاد کرده و وارد آن شوید:

mkdir ~/n8n && cd ~/n8n

۱. فایل متغیرهای محیطی (.env):
این فایل تنظیمات اصلی شما را نگهداری می‌کند. با دستور nano .env آن را ایجاد کنید:

nano .env

محتوای زیر را در آن قرار دهید. مقادیر را با اطلاعات خود جایگزین کنید.

# دامنه اصلی شما
DOMAIN_NAME=yourdomain.com

# زیردامنه‌ای که می‌خواهید n8n روی آن اجرا شود
SUBDOMAIN=n8n

# ایمیل شما برای دریافت گواهی SSL (از یک ایمیل معتبر استفاده کنید)
[email protected]

# منطقه زمانی برای اجرای صحیح گردش‌کارها
GENERIC_TIMEZONE=Asia/Tehran

با CTRL+X و سپس وارد کردن y و زدن Enter تغییرات را ذخیره کنید.

۲. فایل اصلی Docker Compose (docker-compose.yml): این فایل قلب تپنده نصب ماست. با دستور زیر این فایل رو ایجاد کنید:

nano docker-compose.yml

حال محتویات زیر را در فایل کپی کنید:

version: '3.7'

networks:
  web:
    driver: bridge

services:
  traefik:
    # Traefik به عنوان پروکسی معکوس، درخواست‌ها را مدیریت کرده و SSL را به صورت خودکار فعال می‌کند
    image: "traefik:v2.9"
    restart: always
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
      - "--certificatesresolvers.myresolver.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    networks:
      - web
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./letsencrypt:/letsencrypt"

  n8n:
    image: n8nio/n8n
    restart: always
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    networks:
      - web
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)"
      - "traefik.http.routers.n8n.entrypoints=websecure"
      - "traefik.http.routers.n8n.tls.certresolver=myresolver"
      - "traefik.http.services.n8n.loadbalancer.server.port=5678"
      - "traefik.docker.network=web"
    volumes:
      # تمام داده‌های شما در این پوشه روی سرور ذخیره می‌شود
      - "./n8n-data:/home/node/.n8n"

با CTRL+X و سپس وارد کردن y و زدن Enter تغییرات را ذخیره کنید.

گام سوم: تنظیمات DNS و فایروال

۱. تنظیم DNS: به پنل مدیریت دامنه خود بروید و یک رکورد A به آدرس IP سرور مجازی خود ایجاد کنید. اگر از کلادفلر استفاده می‌کنید، حتماً ابر آن را در حالت خاکستری (DNS Only) قرار دهید تا گواهی SSL به درستی صادر شود.

۲. باز کردن پورت‌های فایروال: دستورات زیر را برای اجازه عبور ترافیک وب اجرا کنید.

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

گام چهارم: اجرای نهایی

قبل از اجرا، یک مشکل رایج مربوط به دسترسی فایل‌ها را پیشاپیش حل می‌کنیم. این دستور را اجرا کنید تا n8n اجازه نوشتن اطلاعات در پوشه خود را داشته باشد:

mkdir ~/n8n/n8n-data
sudo chown -R 1000:1000 ~/n8n/n8n-data

حالا با خیال راحت، دستور زیر را برای به راه انداختن پلتفرم خود اجرا کنید:

docker compose up -d

چند دقیقه صبر کنید. سپس آدرس https://n8n.yourdomain.com را در مرورگر خود باز کنید. اگر همه چیز را درست انجام داده باشید، صفحه راه‌اندازی n8n را مشاهده خواهید کرد. توجه داشته باشید که برای دسترسی به داشبورد خود، باید دامنه را نیز به آیپی سرور متصل کنید. برای اتصال دامنه خود به سرور، می‌توانید از Cloudflare استفاده کنید.

title

مدیریت و نگهداری n8n

شما اکنون یک سرویس زنده دارید. با دستورات زیر می‌توانید آن را مدیریت کنید:

  • مشاهده وضعیت سرویس‌ها: docker compose ps
  • ری‌استارت کردن سرویس: docker compose restart n8n
  • مشاهده لاگ‌ها برای عیب‌یابی: docker compose logs n8n
  • آپدیت به آخرین نسخه n8n:
    # دانلود آخرین نسخه ایمیج
    docker compose pull
    
    # راه‌اندازی مجدد با نسخه جدید
    docker compose up -d --force-recreate

نتیجه‌گیری: قدرت اتوماسیون در دستان شماست

تبریک می‌گوییم! شما با موفقیت یک پلتفرم اتوماسیون شخصی، امن و بدون محدودیت را روی زیرساخت خود راه‌اندازی کردید. اکنون کنترل کامل فرآیندها در دستان شماست و می‌توانید خلاقیت خود را برای ساختن یک کسب‌وکار هوشمندتر به کار بگیرید.

به یاد داشته باشید که پایداری و عملکرد ابزارهای حیاتی مانند n8n، مستقیماً به کیفیت زیرساختی که روی آن میزبانی می‌شوند بستگی دارد. انتخاب یک سرور مجازی قابل اعتماد، تضمین می‌کند که گردش‌کارهای شما به صورت ۲۴ ساعته و بدون وقفه اجرا شوند.

 

 

محسن اکبری شهپر

محسن اکبری هستم، برنامه نویس، طراح، مدیر شبکه و نویسنده سرودیتا! دانشجوی کارشناسی ارشد گرایش رایانش امن دانشگاه تبریز هستم و تکنولوژی بخش جدایی ناپذیر دنیای منه :)

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *