n8n چیست و چگونه از آن استفاده کنیم؟

0
(0)

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

n8n چیست؟

n8n چیست

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

ویژگی‌های کلیدی n8n

  • متن‌باز بودن: امکان مشاهده، تغییر و شخصی‌سازی کد منبع برای تطبیق با نیازهای خاص.
  • اتصال به بیش از 300 سرویس: پشتیبانی از برنامه‌هایی مانند Google Sheets، Slack، GitHub، AWS، Trello و غیره.
  • رابط کاربری بصری: ویرایشگر drag-and-drop برای طراحی و دیباگ جریان‌های کاری بدون نیاز به کدنویسی.
  • پشتیبانی از APIها: اتصال آسان به هر سیستمی با REST API.
  • اجرای مبتنی بر رویداد: محرک‌هایی مانند وب‌هوک‌ها، زمان‌بندی‌های cron یا تغییرات در برنامه‌های متصل.
  • معماری ماژولار: امکان افزودن گره‌های سفارشی و ایجاد زیرجریان‌های کاری قابل‌استفاده مجدد.
  • امنیت بالا: پشتیبانی از HTTPS، احراز هویت و کنترل دسترسی‌های دقیق برای محیط‌های تولیدی.

چرا از n8n استفاده کنیم؟

کاربرد n8n

n8n برای خودکارسازی فرآیندهای متنوع، از ساده تا پیچیده، طراحی شده است. این ابزار به شما کمک می‌کند تا زمان و منابع خود را با حذف وظایف دستی آزاد کنید. در ادامه، چند مثال کاربردی آورده شده است تا نشان دهیم n8n چگونه می‌تواند به حل مسائل واقعی کمک کند:

مثال 1: خودکارسازی اعلان‌های قطعی سرور با n8n

فرض کنید شما یک وب‌سایت فروشگاهی دارید که روی سرورهای مجازی میزبانی می‌شود. با استفاده از n8n و سرویس مانیتورینگ مانند UptimeRobot، می‌توانید جریان کاری‌ای طراحی کنید که:

  • هر 5 دقیقه وضعیت سرور را بررسی کند.
  • در صورت تشخیص قطعی، دستور shell برای بازراه‌اندازی سرویس (مثلاً Nginx) اجرا کند.
  • اعلانی فوری به تیم پشتیبانی از طریق Telegram ارسال کند.
  • در صورت نیاز، تنظیمات DNS را از طریق API Cloudflare به‌روزرسانی کند.
    این جریان کاری زمان پاسخ به مشکلات را کاهش داده و از قطعی طولانی‌مدت جلوگیری می‌کند.

مثال 2: همگام‌سازی داده‌های مشتریان با n8n
تصور کنید یک کسب‌وکار دارید که اطلاعات مشتریان را در Google Sheets ذخیره می‌کند و نیاز دارید این داده‌ها به‌صورت خودکار به CRM شما منتقل شوند. با n8n می‌توانید:

  • یک جریان کاری ایجاد کنید که هر ساعت تغییرات Google Sheets را بررسی کند.
  • داده‌های جدید را به نرم افزار CRM منتقل کرده و مشتریان را به‌روزرسانی کند.
  • در صورت خطا (مانند اطلاعات ناقص)، ایمیلی به مدیر فروش ارسال کند.
    این فرآیند زمان صرف‌شده برای ورود دستی داده‌ها را حذف کرده و دقت را افزایش می‌دهد.

مثال 3: مدیریت وظایف DevOps با n8n
اگر تیمی از توسعه‌دهندگان دارید که پروژه‌های خود را در GitHub مدیریت می‌کنند، n8n می‌تواند:

  • با دریافت وب‌هوک از GitHub، هنگام ایجاد pull request جدید، اعلانی به Discord ارسال کند.
  • دستورات CI/CD را در سرور اجرا کند (مثلاً اجرای تست‌های خودکار).
  • نتایج را به تیم گزارش دهد.
    این جریان کاری همکاری تیم را بهبود بخشیده و فرآیندهای توسعه را تسریع می‌کند.

مقایسه n8n با Zapier و Make (Integromat)

ویژگیn8nZapierMake (Integromat)
متن‌باز بودنبله، کاملاً متن‌بازخیر، کاملاً ابریخیر، کاملاً ابری
خود-میزبانیپشتیبانی کامل (Docker، Bare-metal)خیرخیر
هزینهرایگان (نسخه متن‌باز)، نسخه ابری پولیپولی، بر اساس تعداد وظایفپولی، بر اساس تعداد عملیات
انعطاف‌پذیریبسیار بالا، قابلیت سفارشی‌سازی کدمحدود به رابط کاربریبالا، اما وابسته به پلتفرم ابری
رابط کاربریبصری و drag-and-dropساده و کاربرپسندپیشرفته و بصری
پشتیبانی از APIکاملمحدودکامل
مناسب برایتوسعه‌دهندگان، تیم‌های فنیکاربران غیرفنی، کسب‌وکارهای کوچککاربران نیمه‌فنی، تیم‌های متوسط

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

هزینه استفاده از n8n

n8n در دو نسخه ارائه می‌شود:

  1. نسخه متن‌باز و رایگان: این نسخه روی سرورهای مجازی مانند مشهدهاست قابل‌نصب است و کاملاً رایگان است. کاربران می‌توانند آن را با نیازهای خود سفارشی‌سازی کرده و از پشتیبانی جامعه کاربری بهره‌مند شوند.
  2. نسخه ابری (Cloud): مناسب برای کسب‌وکارهایی که نمی‌خواهند زیرساخت را مدیریت کنند. این نسخه نیازی به نگهداری سرور ندارد و برای تیم‌هایی که به دنبال راه‌حل آماده هستند، مناسب است.

برای اطلاعات بیشتر درباره قیمت‌گذاری نسخه ابری، به وب‌سایت رسمی n8n مراجعه کنید.

آموزش نصب n8n روی سرورهای مجازی

سرورهای مجازی مشهدهاست با زیرساخت قدرتمند و پشتیبانی از اوبونتو، بستری ایده‌آل برای میزبانی n8n ارائه می‌دهد. در ادامه، مراحل نصب n8n با استفاده از Docker Compose توضیح داده شده است:

پیش‌نیازها

  • سرور اوبونتو 22.04 
  • دامنه ثبت‌شده که به IP سرور اشاره کند
  • دسترسی root یا sudo
  • نصب Docker و Docker Compose
  • ایمیل برای ثبت گواهی SSL (اختیاری)

نصب Docker و Docker Compose:

sudo apt update
apt install docker.io docker-compose -y

مرحله 1: ایجاد فایل پیکربندی Docker Compose

جهت نصب n8n یک دایرکتوری برای n8n ایجاد کنید:

mkdir ~/n8n && cd ~/n8n
nano docker-compose.yml

پیکربندی زیر را وارد کنید:

version: '3.7'

services:

  db:

    image: postgres:14

    environment:

      - POSTGRES_USER=n8n

      - POSTGRES_PASSWORD=n8npass

      - POSTGRES_DB=n8n

    volumes:

      - postgres_data:/var/lib/postgresql/data

  n8n:

    image: n8nio/n8n

    ports:

      - "5678:5678"

    environment:

      - DB_TYPE=postgresdb

      - DB_POSTGRESDB_HOST=db

      - DB_POSTGRESDB_DATABASE=n8n

      - DB_POSTGRESDB_USER=n8n

      - DB_POSTGRESDB_PASSWORD=n8npass

      - N8N_BASIC_AUTH_ACTIVE=true

      - N8N_BASIC_AUTH_USER=admin

      - N8N_BASIC_AUTH_PASSWORD=strongpass

      - N8N_HOST=n8n.yourdomain.com

      - WEBHOOK_TUNNEL_URL=https://n8n.yourdomain.com

    depends_on:

      - db

    volumes:

      - n8n_data:/home/node/.n8n

volumes:

  postgres_data:

  n8n_data:

مرحله 2: راه‌اندازی کانتینرها

کانتینرها را اجرا کنید:

docker-compose up -d

مرحله 3: دسترسی به n8n

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

http://your_server_ip:5678

هشدار امنیتی: برای جلوگیری از هشدارهای مرورگر، استفاده از HTTPS با گواهی TLS معتبر توصیه می‌شود.

مرحله 4: ایمن‌سازی با HTTPS

برای ایمن‌سازی n8n، از Nginx و Let’s Encrypt استفاده کنید:

نصب Nginx و Certbot:

apt install nginx certbot python3-certbot-nginx -y

پیکربندی Nginx برای HTTPS:
فایل زیر را در /etc/nginx/sites-available/n8n ایجاد کنید:

 {
  listen 443 ssl;
  server_name n8n.yourdomain.com;

  ssl_certificate /etc/letsencrypt/live/n8n.yourdomain.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/n8n.yourdomain.com/privkey.pem;

  location / {
    proxy_pass http://localhost:5678;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

فعال‌سازی و بررسی Nginx:


ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
nginx -t && sudo systemctl reload nginx

صدور گواهی SSL:

certbot --nginx -d n8n.yourdomain.com

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

برای راه‌اندازی اولیه n8n پس از نصب و دسترسی به رابط وب آن (مثلاً در آدرس https://n8n.yourdomain.com)، مراحل زیر را به‌ترتیب انجام دهید:

ایجاد حساب کاربری مالک (Owner Account): در اولین ورود، لازم است یک حساب مدیریتی ایجاد کنید. برای این منظور، ایمیل، نام کامل و یک رمز عبور قوی وارد کنید. توجه داشته باشید که رمز عبور باید حداقل ۸ کاراکتر بوده و شامل حروف بزرگ و اعداد باشد تا از نظر امنیتی تأیید شود.

شخصی‌سازی اولیه (Instance Personalization): در ادامه، با چند سؤال اختیاری درباره نقش شغلی شما، اندازه تیم و نوع استفاده‌تان از n8n مواجه می‌شوید. پاسخ به این سؤالات به بهینه‌سازی تجربه کاربری کمک می‌کند، اما اجباری نیست و می‌توانید از این مرحله عبور کنید.

فعال‌سازی قابلیت‌های رایگان (Free Features Activation):  

n8n در نسخه سلف‌هاست امکاناتی مانند احراز هویت پیشرفته، کنترل دسترسی و استفاده از Credentialهای رمزنگاری‌شده را به‌صورت رایگان ارائه می‌دهد. برای فعال‌سازی این ویژگی‌ها، کافی است ایمیل خود را وارد کرده و کد لایسنس رایگانی که برای شما ارسال می‌شود را در بخش Settings → Usage and Plan وارد کنید.

پس از انجام این مراحل، محیط n8n آماده استفاده است و می‌توانید اولین Workflow خود را ایجاد کنید.

مرحله 6: ایجاد جریان کاری در n8n

برای درک بهتر، بیایید یک جریان کاری ساده برای ارسال اعلان هنگام دریافت ایمیل جدید در n8n ایجاد کنیم:

در داشبورد n8n، روی New Workflow کلیک کنید.

ایجاد جریان کاری در n8n

یک گره Email Trigger اضافه کنید و آن را به حساب ایمیل خود (مثلاً Gmail) متصل کنید.

نصب n8n

یک گره Slack اضافه کنید و پیامی مانند “ایمیل جدید دریافت شد!” تنظیم کنید.

جریان کاری را فعال کنید.

ایجاد جریان کاری در n8n

حالا هر بار که ایمیلی دریافت می‌کنید، اعلانی در Slack دریافت خواهید کرد. این مثال ساده نشان می‌دهد که چگونه n8n می‌تواند فرآیندهای روزمره را خودکار کند.

نتیجه‌گیری

n8n یک ابزار قدرتمند و انعطاف‌پذیر برای خودکارسازی فرایندهاست که با راه‌اندازی آن روی Ubuntu و Docker، می‌توانید هم هزینه‌ها را کاهش دهید و هم کنترل بیشتری روی سیستم خود داشته باشید.

از ارسال هشدارهای ساده گرفته تا مدیریت وظایف پیچیده در بک‌اند، n8n امکانات زیادی در اختیار شما قرار می‌دهد. فقط کافی‌ست یک‌بار آن را راه‌اندازی کنید؛ پس از آن می‌توانید در پروژه‌های مختلف، مانند اجرای خودکار وظایف CI/CD، نظارت بر Webhookها یا اتصال به سرویس‌های هوش مصنوعی از آن استفاده کنید.

برای شروع، سرور مجازی خود را از مشهدهاست تهیه کرده و با این آموزش، n8n را پیاده‌سازی کنید.

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

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

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

چگونه n8n را ایمن کنم؟
از HTTPS با گواهی Let’s Encrypt، رمزهای عبور قوی، و فایروال برای محدود کردن دسترسی استفاده کنید.

چگونه از n8n نسخه پشتیبان تهیه کنم؟
از volumeهای n8n_data و postgres_data نسخه پشتیبان تهیه کنید. برای پایگاه داده، از دستور زیر استفاده کنید:

 docker exec <postgres_container_name> pg_dump -U n8n n8n > backup.sql

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

چگونه n8n را به‌روزرسانی کنم؟
برای به‌روزرسانی، دستورات زیر را اجرا کنید:

docker-compose pull
docker-compose up -d

این پست چقدر مفید بود؟

برای رتبه بندی روی یک ستاره کلیک کنید!

میانگین رتبه 0 / 5. تعداد آرا: 0

تاکنون هیچ رایی به دست نیامده است! اولین نفری باشید که این پست را رتبه بندی می کند.

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

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