نصب n8n بر روی سرور مجازی اوبونتو 24
نصب n8n بر روی سرور مجازی اوبونتو 24
n8n چیست و چرا اینقدر محبوب شده؟
اتوماسیون یک پلتفرم اتوماسیون متنباز است که به شما اجازه میدهد کارهای تکراری، پردازش دادهها و ارتباط بین سرویسهای مختلف را بدون نیاز به کدنویسی سنگین خودکار کنید. این ابزار مثل یک مغز دوم برای سیستم شما عمل میکند و میتواند دهها سرویس، API و ابزار مختلف را به هم متصل کند تا فرآیندها بهصورت کامل و دقیق اجرا شوند. همین ساختار Low-Code باعث شده حتی کاربران غیرتوسعهدهنده هم بتوانند گردشکارهای حرفهای بسازند.
یکی از دلایل اصلی محبوبیت نصب n8n، آزادی کامل آن در مقایسه با سرویسهای خارجی مثل Zapier و Make است. برخلاف آن سرویسها که محدودیت تعداد درخواست یا هزینههای اشتراک بالا دارند، اتوماسیون روی سرور شخصی شما اجرا میشود و کاملاً تحت کنترل خودتان است. این یعنی امنیت بالاتر، هزینه کمتر و آزادی در ساخت هر نوع اتوماسیونی که بخواهید. به همین دلیل هم نصب n8n برای بسیاری از کاربران ایرانی تبدیل به یک انتخاب جدی شده است.
در کنار همه این مزایا، نصب n8n بهخاطر نصب ساده و انعطافپذیری بالا، بهخصوص وقتی روی یک سرور مجازی سبک و اقتصادی اجرا شود، محبوبیت بیشتری پیدا کرده. دقیقاً به همین دلیل، در ادامه این مقاله قرار است به شما آموزش بدهیم چطور نصب n8n را روی سرور مجازی هایو فلش انجام دهید؛ سروری که با هزینه فقط ۱۶۰ هزار تومان ماهانه، بهترین گزینه برای اجرای بدون وقفه و ۲۴ ساعته ین ابزار محسوب میشود.
مزایا و معایب نصب n8n برای کاربران ایرانی و مدیران سرور
مزایا:
یکی از بزرگترین مزایای نصب n8n برای کاربران ایرانی، اوپنسورس بودن و اجرا شدن روی سرور شخصی است. یعنی نه تحریم اذیتت میکند، نه محدودیت تعداد درخواست داری، نه هزینههای دلاری سرویسهایی مثل Zapier و Make. هرچی نیاز داری روی سرور خودت اجرا میشود و دیتا هم از کشور خارج نمیشود؛ این موضوع برای کسبوکارها که امنیت و محرمانگی اطلاعاتشان مهم است، یک امتیاز بزرگ محسوب میشود. همچنین این ابزار تعداد زیادی Node آماده دارد و تقریباً با هر API یا سرویس داخلی/خارجی قابل اتصال است.
از نگاه مدیران سرور، نصب n8n یک ابزار فوقالعاده انعطافپذیر است. قابلیت اجرای نسخه Docker، امکان سفارشیسازی کامل، اجرای Workflowهای پیچیده و استفاده از فانکشنهای جاوااسکریپت باعث شده نصب n8n برای اتوماسیونهای پیشرفته، مانیتورینگ، ادغام سیستمها و حتی DevOps کاربرد داشته باشد. این یعنی میتوان از این ابزار بهعنوان یک اتوماسیون 24/7 در زیرساخت استفاده کرد بدون اینکه نیاز به ابزارهای گرانقیمت خارجی باشد. ضمن اینکه مدیریت، بهروزرسانی و مانیتورینگ این ابزار روی سرورهای داخلی بسیار راحت است.
معایب:
با وجود مزایای زیاد، چند نکته چالشبرانگیز هم وجود دارد. مثلاً اجرای این ابزار روی سرورهای ایران گاهی ممکن است در ارتباط با سرویسهای خارجی (مثل تلگرام یا APIهای بینالمللی) بهخاطر محدودیتها کمی کندتر باشد. موضوع بعدی مصرف منابع است؛ این ابزارروی Docker به شکل استاندارد به یک میزان مشخص RAM و CPU نیاز دارد و اگر پروژه بزرگ باشد باید حتماً سروری انتخاب کنید که توان مناسب داشته باشد. همچنین تأمین SSL، امنیت Nginx و محافظت در برابر حملات رباتها جزو کارهایی است که برای استفاده حرفهای باید حتماً انجام شود.
با این وجود، وقتی نصب n8n روی یک سرور بهینه و اقتصادی اجرا شود —مثل سرورهای هایو فلش— تمام این چالشها تا حد زیادی کنترل میشوند و میتوان بدون دردسر یک اتوماسیون پایدار و همیشه فعال ساخت.
نسخه رایگان نصب n8n و امکانات آن
نسخه رایگان این پلتفرم یکی از جذابترین بخشهای این پلتفرم است، چون برخلاف بسیاری از ابزارهای اتوماسیون که نسخه رایگانشان محدود و ناقص است، n8n تقریباً تمام امکانات اصلی خود را بدون هیچ هزینهای در اختیار شما میگذارد. از همان لحظهای که این ابزار را روی سرور اجرا میکنید، میتوانید تمام Workflowهای موردنیازتان را بسازید، Nodeهای مختلف را به هم وصل کنید و هر نوع فرآیند اتوماسیونی را بدون محدودیت راهاندازی کنید.
در نسخه رایگان نصب n8n شما به اکثر قابلیتهای حرفهای دسترسی دارید:
- ساخت نامحدود Workflow
- استفاده از همه Nodeها برای اتصال به سرویسهای مختلف
- پشتیبانی از Webhookها، APIها و Triggerهای اتوماتیک
- امکان اجرای سلفهاست (Self-hosted) روی هر نوع سرور
- قابلیت استفاده از Function Node برای نوشتن کد اختصاصی
- ادغام با انواع دیتابیس، سرویسهای پیامرسان و پلتفرمهای خارجی
تنها تفاوت نسخه رایگان با نسخه Cloud این است که n8n Cloud بهصورت SaaS ارائه میشود و هزینه دلاری دارد. اما نسخه Self-Hosted که روی سرور مجازی نصب میکنید، هیچ محدودیتی ندارد و کنترل کامل آن دست خودتان است. همین آزادی کامل، نسخه رایگان این ابزار را به یکی از بهترین گزینهها برای کسبوکارهای ایرانی تبدیل کرده—چون فقط هزینهی سرور را میپردازید و تمام امکانات پیشرفته را بدون هیچ هزینه پنهانی دریافت میکنید.
چرا نصب n8n روی سرورهای مجازی هایو فلش (160,000 تومان ماهانه) بهترین گزینه است؟
اگر قصد دارید این پلتفرم را روی یک سرور مطمئن، سریع و اقتصادی اجرا کنید، سرورهای مجازی هایو فلش یکی از بهترین انتخابها هستند. این سرورها با قیمت بسیار پایین ۱۶۰ هزار تومان ماهانه در لوکیشن خارج ارائه میشوند و برای اجرای ابزارهایی مثل این پلتفرم که ۲۴ ساعته باید آنلاین باشند، کاملاً مناسباند. مهمترین نکته این است که هایو فلش بهصورت خیلی مینیمال طراحی شده؛ یعنی منابع هیچوقت بیدلیل هدر نمیروند و سیستم دقیقاً بهاندازه نیاز نصب n8n عمل میکند.
یکی از ویژگیهای مهم سرورهای هایو فلش، پشتیبانی کامل از IPv6 است. نصب n8n برای اتصال به سرویسهایی مثل تلگرام، GitHub، APIهای خارجی و حتی سرویسهای ابری، در خیلی از مواقع نیاز به IPv6 دارد—و اینجاست که هایو فلش خودش را ثابت میکند. ارائه IPv6 بهصورت پیشفرض، باعث میشود ارتباطها سریعتر، پایدارتر و بدون محدودیت انجام شود. این قابلیت مخصوصاً برای کاربران ایرانی بسیار مهم است، چون بسیاری از هاستها و VPSهای داخلی یا IPv6 ندارند یا بهسختی فعال میشود.
از طرف دیگر، سرورهای هایو فلش دارای قابلیت Auto Scale هستند؛ یعنی اگر در آینده حجم Workflowهای شما زیاد شود یا n8n تحت فشار قرار بگیرد، میتوانید منابع را سریع و بدون downtime افزایش دهید. این قابلیت باعث میشود این پلتفرم بدون مشکل پاسخگوی اتوماسیونهای سنگینتر، تعداد بیشتر درخواستها و پروژههای در حال رشد باشد. ترکیب «قیمت اقتصادی»، «مینیمال بودن»، «پشتیبانی IPv6» و «اتو اسکیل» باعث شده نصب n8n روی هایو فلش دقیقاً همان محیطی را داشته باشد که برای یک اتوماسیون پایدار لازم است.
در پنل کاربری هایو می توانید سرور مجازی به صورت ماهانه خریداری کنید و برای نصب n8n و استفاده این ابزار اختصاصی خود استفاده نمایید.
راهنمای نصب n8n با Docker و SSL روی سرور IPv6
در این مقاله، تمامی مراحل نصب n8n و پیکربندی این پلتفرم با استفاده از Docker، Nginx و گواهینامه SSL رایگان را به صورت گام به گام آموزش میدهیم.
هدف نهایی
نصب n8n روی سرور IPv6 با دامنه امن و فعالسازی SSL برای دسترسی از طریق HTTPS
پیشنیازها
- یک سرور Ubuntu با دسترسی SSH
- یک دامنه (در این مثال:
n8n2.abrtak.com) - دسترسی به پنل Cloudflare برای مدیریت DNS
مراحل نصب
مرحله 1: اتصال به سرور
برای سرورهای IPv6، ابتدا به سرور متصل شوید:
ssh root@IP V6
یا میتوانید از طریق پنل اختصاصی که برای ssh زدن به سرور آیپی ورژن 6 طراحی شده متصل شوید.
https://ssh.haioflash.haio.ir/
مرحله 2: بهروزرسانی سیستم
ابتدا سیستم را بهروزرسانی کنید:
apt update
apt upgrade -y
مرحله 3: نصب Docker
افزودن کلید GPG و مخزن Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
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" | tee /etc/apt/sources.list.d/docker.list > /dev/null
نصب Docker و Docker Compose:
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
فعالسازی و راهاندازی Docker:
systemctl start docker
systemctl enable docker
بررسی نسخه نصب شده:
docker --version
docker compose version
خروجی مورد انتظار:
Docker version 29.1.2, build 4e41e0e
Docker Compose version v5.0.0
مرحله 4: ایجاد پوشه کاری
mkdir -p /opt/n8n
cd /opt/n8n
مرحله 5: ایجاد فایل docker-compose.yml
فایل docker-compose.yml را با دستور زیر ایجاد کنید:
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: unless-stopped
environment:
- N8N_HOST=your domain
- N8N_PORT=5678
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://your domain/
- GENERIC_TIMEZONE=Asia/Tehran
volumes:
- n8n_data:/home/node/.n8n
networks:
- n8n-network
nginx:
image: nginx:alpine
container_name: n8n-nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- /opt/n8n/certbot_certs:/etc/letsencrypt:ro
depends_on:
- n8n
networks:
- n8n-network
certbot:
image: certbot/certbot
container_name: n8n-certbot
volumes:
- /opt/n8n/certbot_certs:/etc/letsencrypt
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
volumes:
n8n_data:
networks:
n8n-network:
driver: bridge
EOF
مرحله 6: ایجاد فایل پیکربندی Nginx
فایل nginx.conf را با دستور زیر ایجاد کنید:
cat > nginx.conf << 'EOF'
events {
worker_connections 1024;
}
http {
# HTTP Server - Redirect to HTTPS
server {
listen 80;
server_name your domain;
location / {
return 301 https://$host$request_uri;
}
}
# HTTPS Server
server {
listen 443 ssl http2;
server_name your domain;
# SSL Configuration
ssl_certificate /etc/letsencrypt/live/n8n2.abrtak.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your domain/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
# Security Headers
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
# Client Max Body Size
client_max_body_size 50M;
# Proxy to n8n
location / {
proxy_pass http://n8n: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;
# WebSocket Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Timeouts
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
}
}
EOF
مرحله 7: تنظیمات اولیه DNS در Cloudflare
قبل از دریافت گواهینامه SSL، باید رکورد DNS را در Cloudflare ایجاد کنید:
- وارد پنل Cloudflare شوید
- به بخش DNS → Records بروید
- یک رکورد AAAA با مشخصات زیر ایجاد کنید:
| Type | Name | Content | Proxy Status | TTL |
|---|---|---|---|---|
| AAAA | n8n2 | IP V6 | DNS only (خاموش) | Auto |
نکته بسیار مهم: در این مرحله حتماً Proxy را خاموش نگه دارید (ابر خاکستری). اگر Proxy فعال باشد، Let’s Encrypt نمیتواند مستقیماً به سرور شما متصل شود و دریافت گواهینامه با خطا مواجه میشود.
مرحله 8: دریافت گواهینامه SSL از Let’s Encrypt
حالا که DNS تنظیم شده و Proxy خاموش است، گواهینامه SSL را دریافت کنید:
docker run --rm -p 80:80 -v /opt/n8n/certbot_certs:/etc/letsencrypt certbot/certbot certonly \
--standalone \
-d n8n2.abrtak.com \
--email example@gmail.com \
--agree-tos \
--no-eff-email
خروجی موفق:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/your domain/fullchain.pem
Key is saved at: /etc/letsencrypt/live/your domain/privkey.pem
مرحله 9: راهاندازی کانتینرها
تمام سرویسها را با دستور زیر اجرا کنید:
docker compose up -d
بررسی وضعیت کانتینرها:
docker compose ps
خروجی مورد انتظار:
NAME IMAGE PORTS STATUS
n8n n8nio/n8n:latest 5678/tcp Up
n8n-certbot certbot/certbot Up
n8n-nginx nginx:alpine 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp Up
مرحله 10: بررسی لاگها
برای مشاهده لاگهای سرویسها:
# لاگ n8n
docker compose logs n8n
# لاگ Nginx
docker compose logs nginx
# لاگ همه سرویسها به صورت زنده
docker compose logs -f
مرحله 11: تست داخلی سرور
برای اطمینان از عملکرد صحیح، تستهای زیر را انجام دهید:
# تست HTTP (باید به HTTPS ریدایرکت شود)
curl -I http://localhost
# تست HTTPS
curl -Ik https://localhost
# تست با دامنه
curl -I https://your domain
خروجی موفق:
HTTP/2 200
server: nginx/1.29.3
پیکربندی نهایی Cloudflare
مرحله 12: فعالسازی Proxy
قبل از این که گزینه پراکسی یا همان ابر فعال شود باید ssl گرفته شود و بعد پراکسی فعال گردد.
حالا که گواهینامه SSL دریافت شده و n8n راهاندازی شده است، باید Proxy را در Cloudflare فعال کنید:
- به پنل Cloudflare بروید
- به بخش DNS → Records بروید
- روی رکورد
n8n2کلیک کنید و آن را ویرایش کنید - روی آیکون ابر کلیک کنید تا از حالت خاکستری (DNS only) به نارنجی (Proxied) تغییر کند
- تغییرات را ذخیره کنید
| Type | Name | Content | Proxy Status | TTL |
|---|---|---|---|---|
| AAAA | n8n2 | IP V6 | Proxied (روشن) | Auto |
چرا Proxy را بعد از SSL فعال میکنیم؟
چون Let’s Encrypt باید مستقیماً به سرور شما متصل شود تا گواهینامه را تایید کند. اگر Proxy فعال باشد، Let’s Encrypt به جای سرور شما به سرورهای Cloudflare متصل میشود و تایید با شکست مواجه میشود. بعد از دریافت گواهینامه، Proxy را فعال میکنیم تا کاربران با IPv4 هم بتوانند دسترسی داشته باشند.
مرحله 13: تنظیمات SSL/TLS در Cloudflare
این مرحله بسیار مهم است و باید دقیقاً انجام شود:
- در پنل Cloudflare، به بخش SSL/TLS بروید
- روی تب Overview کلیک کنید
- روی دکمه آبی Configure کلیک کنید
- در قسمت Custom SSL/TLS، گزینه Full (Strict) را انتخاب کنید
توضیحات گزینه Full (Strict):
“Enable encryption end-to-end and enforce validation on origin certificates. Use Cloudflare’s Origin CA to generate certificates for your origin.”این گزینه باعث میشود ارتباط از مرورگر کاربر تا سرور شما کاملاً رمزنگاری شده و امن باشد.
- روی دکمه Save کلیک کنید
این تنظیم باعث میشود:
- مرورگر کاربر به Cloudflare: HTTPS (رمزنگاری شده)
- Cloudflare به سرور شما: HTTPS (رمزنگاری شده)
- اعتبارسنجی گواهینامه SSL سرور شما توسط Cloudflare
هشدار: اگر این گزینه را روی Flexible بگذارید، ارتباط بین Cloudflare و سرور شما HTTP خواهد بود (غیر امن) و nginx خطا خواهد داد.
تست نهایی
بعد از 1-2 دقیقه صبر کنید تا تغییرات DNS و SSL در Cloudflare اعمال شوند، سپس سایت خود را باز کنید:
https://your domain
باید صفحه لاگین نصب n8n را مشاهده کنید و گواهینامه SSL در مرورگر معتبر باشد.
نکات امنیتی
- گواهینامه SSL خودکار تمدید میشود توسط کانتینر certbot هر 12 ساعت
- فایروال را پیکربندی کنید:
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
- رمز عبور قوی برای n8n تنظیم کنید در اولین ورود
دستورات مفید
مشاهده لاگها به صورت زنده:
docker compose logs -f
ریاستارت سرویسها:
docker compose restart
متوقف کردن همه سرویسها:
docker compose down
بررسی مصرف منابع:
docker stats
پاکسازی کش Docker:
docker system prune -a
عیبیابی
مشکل: ERR_CONNECTION_CLOSED در مرورگر
راهحل:
- در Cloudflare مطمئن شوید Proxy فعال است (ابر نارنجی)
- SSL/TLS را روی Full (strict) قرار دهید
- 2 دقیقه صبر کنید تا تغییرات اعمال شود
دلیل اینکه باید حتما پروکسی فعال شود این هست که بتوانید با تمام اینترنت ها به صفحه n8n در مرورگر دسترسی داشته باشید.
مشکل: nginx نمیتواند SSL certificate پیدا کند
راهحل:
# بررسی وجود فایلهای SSL
ls -la /opt/n8n/certbot_certs/live/your domain/
# در صورت نبود، دوباره SSL بگیرید
docker compose down
docker run --rm -p 80:80 -v /opt/n8n/certbot_certs:/etc/letsencrypt certbot/certbot certonly --standalone -d n8n2.abrtak.com --email example@gmail.com --agree-tos
docker compose up -d
مشکل: n8n شروع نمیشود
بررسی لاگ:
docker compose logs n8n
ریاستارت:
docker compose restart n8n
مشخصات سرور
| مشخصه | مقدار |
|---|---|
| سیستمعامل | Ubuntu 24.04 LTS |
| Docker | 29.1.2 |
| Docker Compose | v5.0.0 |
| n8n | Latest |
| Nginx | Alpine |
| Certbot | Latest |
| آدرس IPv6 | IP V6 |
| دامنه | your domain |
| پورت HTTP | 80 |
| پورت HTTPS | 443 |
نتیجهگیری
با استفاده از این روش:
- نصب n8n با Docker انجام شد
- SSL رایگان از Let’s Encrypt دریافت شد
- Nginx به عنوان Reverse Proxy پیکربندی شد
- تمدید خودکار SSL فعال شد
- امنیت با HTTPS و Cloudflare تامین شد
- سرور IPv6 برای کاربران IPv4 قابل دسترسی شد
منابع مفید
نتیجهگیری
نصب n8n و راهاندازی این پلتفرم روی سرورهای هایو فلش با استفاده از Docker و Nginx و فعالسازی SSL، یک راهکار امن، سبک و قابل اتکا برای اتوماسیون فرآیندها فراهم میکند. با دنبال کردن این راهنما شما توانستید:
-
این پلتفرم را بهراحتی روی سرور مجازی هایو فلش با قیمت مناسب (160,000 تومان ماهانه) نصب کنید.
-
گواهینامه SSL رایگان از Let’s Encrypt دریافت کرده و ارتباط امن HTTPS برقرار کنید.
-
Nginx را به عنوان Reverse Proxy پیکربندی کنید تا مدیریت ترافیک و WebSocketها بهصورت بهینه انجام شود.
-
سیستم را برای تمدید خودکار SSL آماده کرده و امنیت را با فایروال و تنظیمات Cloudflare تضمین کنید.
-
از سرورهای مینیمال با قابلیت اتو اسکیل و پشتیبانی از IPv6 استفاده کرده و دسترسی کاربران IPv4 را نیز فراهم کنید.
استفاده از سرورهای هایو فلش باعث میشود هزینههای شما پایین نگه داشته شود، منابع سرور بهینه مصرف شوند و امکان گسترش و مقیاسپذیری پروژههای n8n با کمترین دردسر فراهم باشد. این روش، یک زیرساخت مطمئن، امن و قابل توسعه برای اجرای جریانهای اتوماسیون با این پلتفرم ایجاد میکند و پایهای مناسب برای توسعههای آینده خواهد بود.

