آموزش نصب n8n روی سرور مجازی با Docker و SSL
با این آموزش در ۴ مرحله و حدود ۱۵ دقیقه، n8n را روی سرور مجازی لینوکس (اوبونتو) خودتان با دامنه و SSL رایگان راه میاندازید.
n8n یک ابزار اتوماسیون متنباز است که سرویسها را بدون کدنویسی به هم وصل میکند. نسخهی نصبشده روی سرور شخصی محدودیت اجرا ندارد و دادههایتان پیش خودتان میماند.
اگر هنوز مطمئن نیستید داکر برای شما مناسب است، مقالهی مقایسه روشهای نصب n8n را بخوانید.
پیشنیازها
- سرور مجازی لینوکس با سیستمعامل اوبونتو (Ubuntu)، حداقل ۱ هسته و ۲ گیگ رم
- دسترسی SSH با کاربر root
- یک سابدامنه مثل
n8n.example.comکه رکورد A آن به IP سرور اشاره کند
در همهی دستورها، n8n.example.com را با دامنهی خودتان عوض کنید.
مرحله ۱: نصب Docker
curl -fsSL https://get.docker.com | sh
اگر سرورتان در ایران است و این دستور یا دانلود ایمیج خطا داد، باید یک Registry Mirror داخلی برای Docker تنظیم کنید.
مرحله ۲: اجرای n8n
فقط همین یک دستور:
docker run -d --name n8n --restart unless-stopped \
-p 127.0.0.1:5678:5678 \
-e N8N_HOST=n8n.example.com \
-e N8N_PROTOCOL=https \
-e WEBHOOK_URL=https://n8n.example.com/ \
-e N8N_PROXY_HOPS=1 \
-e GENERIC_TIMEZONE=Asia/Tehran \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
-v n8n_data باعث میشود ورکفلوها و تنظیمات با آپدیت یا حذف کانتینر پاک نشوند.
مرحله ۳: نصب Nginx و SSL
apt install -y nginx certbot python3-certbot-nginx
nano /etc/nginx/sites-available/n8n
این را در فایل بگذارید:
server {
listen 80;
server_name n8n.example.com;
location / {
proxy_pass http://127.0.0.1:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
فعالسازی و گرفتن گواهی SSL (گزینهی Redirect را انتخاب کنید):
ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d n8n.example.com
تمدید گواهی خودکار انجام میشود.
مرحله ۴: ورود به n8n
آدرس https://n8n.example.com را باز کنید، ایمیل و رمز حساب مدیر را بسازید و تمام. بعد از این مرحله، صفحهی ثبتنام بسته میشود و فقط با لاگین میشود وارد شد.
آپدیت n8n
docker pull docker.n8n.io/n8nio/n8n
docker stop n8n && docker rm n8n
بعد همان دستور مرحله ۲ را دوباره اجرا کنید. دادهها در volume هستند و از بین نمیروند.
مشکلات رایج
- خطای secure cookie: با http وارد شدهاید؛ از آدرس https استفاده کنید.
- آدرس وبهوکها localhost است: مقدار
WEBHOOK_URLرا در دستور مرحله ۲ چک کنید. - ادیتور مدام Connection lost میدهد: خطوط
UpgradeوConnectionدر کانفیگ Nginx جا افتادهاند.
برای دیدن خطاها: docker logs n8n --tail 50
جمعبندی
حالا n8n روی دامنهی خودتان با HTTPS آماده است و میتوانید اولین ورکفلو را بسازید.
اگر حوصلهی نصب ندارید، سرور مجازی n8n تککلود با n8n آماده، سابدامنه و SSL تحویل داده میشود.
