
به اشتراک بگذارید

به اشتراک بگذارید
آموزش سرور | بلاگ وبداده
نصب n8n روی سرور لینوکس؛ راهاندازی اتوماسیون در چند دقیقه
5678 بالا میآید (مثلاً http://localhost:5678).
# ۱) بهروزرسانی فهرست بستهها روی اوبونتو/دبیان
sudo apt update && sudo apt upgrade -y
# ۲) نصب Docker Engine با اسکریپت رسمی داکر
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# ۳) اجرای داکر بدون sudo (کاربر فعلی به گروه docker اضافه میشود)
sudo usermod -aG docker $USER
# پس از این دستور یکبار از سرور خارج و دوباره وارد شوید
# ۴) بررسی نصب
docker --versionBashAsia/Tehran). این دستورها عیناً از مستندات رسمی n8n گرفته شدهاند:# ساخت یک volume برای نگهداری دائمی دادهها
docker volume create n8n_data
# اجرای n8n (بهجای <YOUR_TIMEZONE> منطقه زمانی خود را بگذارید، مثلاً Asia/Tehran)
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="Asia/Tehran" \
-e TZ="Asia/Tehran" \
-e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
-e N8N_RUNNERS_ENABLED=true \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
# اکنون پنل در آدرس http://localhost:5678 در دسترس استBashhttp://SERVER_IP:5678 در مرورگر، صفحه ساخت حساب کاربری مدیر ظاهر میشود. اگر صفحه باز نشد، اول باز بودن پورت 5678 در فایروال و سپس وضعیت کانتینر را با docker ps بررسی کنید.# n8n به نسخه Node.js بین 20.19 تا 24.x نیاز دارد
# تست سریع بدون نصب دائمی
npx n8n
# یا نصب سراسری با npm
npm install n8n -g
# اجرای n8n
n8n start
# بهروزرسانی به آخرین نسخه پایدار
npm update -g n8nBash# اجرای n8n با دیتابیس PostgreSQL بهجای SQLite پیشفرض
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="Asia/Tehran" \
-e TZ="Asia/Tehran" \
-e DB_TYPE=postgresdb \
-e DB_POSTGRESDB_DATABASE=n8n \
-e DB_POSTGRESDB_HOST=postgres \
-e DB_POSTGRESDB_PORT=5432 \
-e DB_POSTGRESDB_USER=n8n \
-e DB_POSTGRESDB_PASSWORD=<POSTGRES_PASSWORD> \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8nBash
| معیار | روش Docker (توصیهشده) | روش npm |
|---|---|---|
| پیشنیاز اصلی | نصب Docker Engine | Node.js نسخه 20.19 تا 24.x |
| محیط اجرا | ایزوله و تمیز در کانتینر | مستقیم روی سیستمعامل میزبان |
| بهروزرسانی | docker pull و اجرای مجدد | npm update -g n8n |
| مناسب برای | پروداکشن و اجرای پایدار | تست سریع و محیطهای ساده |
| مدیریت وابستگیها | خودکار، بدون تداخل نسخه | وابسته به نسخه Node.js میزبان |
| توصیه رسمی n8n | روش پیشنهادی برای اکثر موارد | گزینه جایگزین |
# دریافت آخرین نسخه ایمیج n8n
docker pull docker.n8n.io/n8nio/n8n
# پیدا کردن شناسه کانتینر در حال اجرا
docker ps -a
# توقف و حذف کانتینر قدیمی (بهجای <id> شناسه واقعی را بگذارید)
docker stop <id>
docker rm <id>
# اجرای مجدد با همان volume داده (دادهها حفظ میشوند)Bashdocker ps در حال اجرا باشد.docker logs n8n ببینید؛ اغلب بهخاطر مجوز فایل تنظیمات یا متغیر اشتباه است.-v n8n_data:/home/node/.n8n مطمئن شوید.n8n یک پلتفرم اتوماسیون گردشکار متنباز است که سرویسها، APIها و اپلیکیشنهای مختلف را به هم متصل میکند تا کارهای تکراری بهصورت خودکار انجام شوند. هر گردشکار از چند «نود» تشکیل میشود که هرکدام یک عملیات مشخص مثل دریافت داده، تبدیل یا ارسال آن را انجام میدهند.
طبق مستندات رسمی، برای اکثر نیازهای خودمیزبانی روش Docker توصیه میشود چون محیطی ایزوله و تمیز فراهم میکند و از ناسازگاری نسخهها جلوگیری میکند. روش npm برای تست سریع و محیطهای ساده مناسبتر است و به نصب Node.js نسخه 20.19 تا 24.x نیاز دارد.
بهصورت پیشفرض، پنل n8n روی پورت 5678 بالا میآید و از طریق آدرسی مانند http://localhost:5678 یا http://SERVER_IP:5678 در دسترس است. برای دسترسی امن از بیرون بهتر است آن را پشت reverse proxy با HTTPS قرار دهید.
خیر، روش npm مستقل از Docker است و فقط به Node.js نیاز دارد. تنها در صورتی که بخواهید از قابلیت تونل برای تست وبهوکها استفاده کنید، n8n از یک کانتینر cloudflared کمک میگیرد. برای نصب و اجرای معمولی با npm، Docker ضروری نیست.
دیتابیس پیشفرض SQLite است که برای استفاده شخصی و تعداد محدودی گردشکار زمانبندیشده کافی است. برای محیط پروداکشن و حجم بالای اجرا، استفاده از PostgreSQL توصیه میشود که با چند متغیر محیطی فعال میشود.
در روش Docker، تا زمانی که volume داده (مثل n8n_data که به مسیر /home/node/.n8n وصل است) را حفظ کنید، بهروزرسانی ایمیج دادهها را پاک نمیکند. کافی است ایمیج جدید را با docker pull بگیرید، کانتینر قبلی را متوقف و حذف کنید و دوباره با همان volume اجرا کنید.
n8n بهخودیخود امن است، اما مسئولیت ایمنسازی محیط با شماست. حتماً پنل را پشت HTTPS و یک reverse proxy قرار دهید، احراز هویت را فعال کنید و پورت را مستقیم روی اینترنت باز نگذارید. خودِ n8n هم تاکید میکند خودمیزبانی برای کاربران آشنا با مدیریت سرور مناسب است.
یک سرور مجازی لینوکسی با رم و پردازنده کافی و اتصال شبکه باکیفیت مناسب است. مقدار منابع به تعداد و سنگینی گردشکارها بستگی دارد؛ برای شروع یک پلن میانرده کفایت میکند و در صورت رشد میتوانید منابع را ارتقا دهید.