برای استفاده از ابزار اتوماسیون n8n چند راه وجود داره که اینجا یکی از اونها رو بهتون آموزش میدم.
فهرست مطالب
پیش نیازهای نصب n8n به صورت Self-Host در سرور
برای نصب n8n در سرور، شما قاعدتا به یک سرور نیاز دارید. ما از سرور مجازی لینوکس استفاده میکنیم، مهم نیست چه نسخهای اما لینوکس اوبونتو ۲۴ گزینه مناسبی میتونه باشه.
برای خرید سرور کافیه سرچ کنید «سرور مجازی لینوکس» یا «خرید VPS». یک سرور ارزان با هزینه زیر ۵ دلار ماهانه برای امور سبک و کم حجم مناسبه و نیاز به هزینه اضافه نیست.
حالا با استفاده از ابزارهای مختلف مثل Termius یا Putty در ویندوز و Termux در اندروید، با استفاده از آدرس آیپی، یوزرنیم و پسورد سرور، واردش میشیم.
سادهترین راه نصب n8n در سرور مجازی
مرحله ۱. دستور زیر رو وارد کنید تا آپدیتهای سیستم عامل رو دریافت کنید:
sudo apt update && sudo apt upgradeمرحله ۲. نصب NodeJS که پیشنهاد ما در حال حاضر نسخه ۲۲ هست:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejsمرحله ۳. نصب نیتن:
sudo npm install -g n8nمرحله ۴. حالا تست کنیم ببینیم درست نصب شده:
export N8N_SECURE_COOKIE=false
n8nبا npx n8n یا npm n8n هم میشه.
بعد در مرورگر وارد این آدرس بشید:http://ServerIP:5678
اگر مراحل رو درست انجام داده باشید صفحه براتون باز میشه و باید یک ایمیل و رمز وارد کنید. الان صفحه داشبورد نیتن برای شما باز شده و میتونید کارتون رو شروع کنید.
تا اینجا یاد گرفتیم که n8n رو با سه تا دستور نصب کنیم و واردش بشیم اما اگر ترمینال SSH خودمون رو ببندیم، نیتن رو هم بستیم و دیگه هیچ تسکی انجام نمیشه تا زمانی که دوباره با دستور n8n بازش کنیم.
بعد از نصب n8n چطور همیشه روی سرور فعال نگهش داریم؟
برای تغییر این حالت باز هم به چند تا دستور ساده نیاز داریم تا n8n همیشه در پسزمینه داخل سرور در حال اجرا باشه.
مرحله ۱. ساخت فایل سرویس:
sudo nano /etc/systemd/system/n8n.serviceدستورات زیر رو داخلش کپی و فایل رو با ctrl+x بعد Y و بعد اینتر، ذخیره میکنیم:
[Unit]
Description=n8n Automation Service
After=network.target
[Service]
Type=simple
Environment=N8N_HOST=0.0.0.0
Environment=N8N_PORT=5678
Environment=N8N_PROTOCOL=http
ExecStart=/usr/bin/n8n start
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.targetمرحله ۲. فعالسازی سرویس:
sudo systemctl daemon-reload
sudo systemctl enable n8n
sudo systemctl start n8nالان دیگه n8n داخل سرور شما همیشه فعال و از طریق http://ServerIP:5678 قابل دسترسه و نیازی نیست همزمان باهاش ترمینال SSH هم حتما باز بمونه.
چطور پنل N8N رو به دامنه خودمون وصل کنیم؟
پنل ابزار n8n در حال حاضر به صورت پیشفرض با استفاده از IP سرور قابل دسترسی هست. حالا اگر بخواهیم با استفاده از دامنه خودمون وارد نیتن بشیم باید مراحل زیر رو انجام بدیم.
روش ساده استفاده از دامنه و پورت پیشفرض n8n با استفاده از http هست که امنیت کمتری داره.
مرحله ۱. برای این کار کافیه محتوای فایل سرویس رو تغییر بدیم:
sudo nano /etc/systemd/system/n8n.serviceحالا محتوا رو با کد زیر جابجا کنید:
[Unit]
Description=n8n Automation Service
After=network.target
[Service]
Type=simple
Environment=N8N_HOST=n8ndomain.com
Environment=N8N_PORT=5678
Environment=N8N_PROTOCOL=http
Environment=N8N_EDITOR_BASE_URL=http://n8ndomain.com
Environment=WEBHOOK_URL=http://n8ndomain.com
ExecStart=/usr/bin/n8n start
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.targetآدرس n8ndomain.com رو با دامنه خودتون تعویض کنید.
مرحله ۲. سرویسها رو مجدد راهاندازی میکنیم:
sudo systemctl daemon-reload
sudo systemctl enable n8n
sudo systemctl start n8nحالا پنل n8n از طریق آدرس زیر در دسترس شماست:
http://n8ndomain.com:5678
اتصال دامنه با SSL به N8N (پروتکل https)
برای اینکه امنیت اطلاعات و سرور و کلیدها رو کمی بالاتر ببریم میتونیم از https برای دسترسی به نیتن استفاده کنیم.
مرحله ۱. ابتدا Nginx رو نصب میکنیم:
sudo apt install nginx -yمرحله ۲. یک Reverse پروکسی میسازیم:
sudo nano /etc/nginx/sites-available/n8nقطعه کد زیر رو داخلش کپی و فایل رو ذخیره میکنیم:
server {
listen 80;
server_name n8ndomain.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-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 300s;
proxy_connect_timeout 300s;
proxy_buffering off;
}
}حالا پروکسی رو فعال میکنیم:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl reload nginxمرحله ۳. تنطیمات فایروال رو بررسی و تغییراتی توش انجام میدیم:
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enableمرحله ۴. Certbot رو نصب میکنیم:
sudo apt install certbot python3-certbot-nginx -yمرحله ۵. درخواست گواهی SSL خودمون رو ثبت میکنیم:
sudo certbot --nginx -d n8ndomain.comمرحله ۶. محتوای فایل سیستم رو باید تغییر بدیم:
sudo nano /etc/nginx/sites-available/n8nکد زیر رو داخل فایل کپی کنید:
[Unit]
Description=n8n Automation Service
After=network.target
[Service]
Type=simple
Environment=N8N_HOST=n8ndomain.com
Environment=N8N_PORT=5678
Environment=N8N_PROTOCOL=https
Environment=N8N_EDITOR_BASE_URL=https://n8ndomain.com
Environment=WEBHOOK_URL=https://n8ndomain.com
Environment=N8N_SECURE_COOKIE=true
ExecStart=/usr/bin/n8n start
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.targetمرحله ۶. یکبار دیگه سرویسها رو ریست میکنیم:
sudo systemctl restart nginx
sudo systemctl restart n8nحالا ابزار اتوماسیون n8n از طریق آدرس https://n8ndomain.com امکان استفاده داره.
