
به اشتراک بگذارید
آموزش سرور | بلاگ وبداده
نصب n8n روی سرور لینوکس؛ راهاندازی اتوماسیون در چند دقیقه
- روش پیشنهادی رسمی: n8n برای اکثر نیازهای خودمیزبانی، نصب با Docker را توصیه میکند.
- پورت پیشفرض: پنل n8n روی پورت
5678بالا میآید (مثلاً http://localhost:5678). - نیازمندی Node.js: برای نصب با npm به نسخه Node.js بین 20.19 و 24.x نیاز دارید.
- دیتابیس: دیتابیس پیشفرض SQLite است؛ برای محیط پروداکشن PostgreSQL پیشنهاد میشود.
- امنیت کلیدی: پنل را پشت HTTPS و یک reverse proxy قرار دهید و مستقیم روی اینترنت باز نگذارید.
در یک جمله
نصب n8n؛ این ابزار اتوماسیون چیست و چرا خودمیزبانی؟
تشبیه ساده

پیشنیازهای راهاندازی n8n روی سرور لینوکس
۱) سرور لینوکس و دسترسی
۲) Docker یا Node.js
۳) دامنه و پورت باز
آموزش گامبهگام نصب و راهاندازی
مرحله ۱: آمادهسازی سرور و نصب Docker
# ۱) بهروزرسانی فهرست بستهها روی اوبونتو/دبیان
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 --versionBashمرحله ۲: اجرای n8n با Docker
Asia/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 در دسترس استBashبررسی صحت عملکرد
http://SERVER_IP:5678 در مرورگر، صفحه ساخت حساب کاربری مدیر ظاهر میشود. اگر صفحه باز نشد، اول باز بودن پورت 5678 در فایروال و سپس وضعیت کانتینر را با docker ps بررسی کنید.مرحله ۳: روش جایگزین — نصب با npm
# n8n به نسخه Node.js بین 20.19 تا 24.x نیاز دارد
# تست سریع بدون نصب دائمی
npx n8n
# یا نصب سراسری با npm
npm install n8n -g
# اجرای n8n
n8n start
# بهروزرسانی به آخرین نسخه پایدار
npm update -g n8nBashهشدار امنیتی مهم
مرحله ۴: اجرای حرفهای با PostgreSQL
# اجرای 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 (توصیهشده) | روش npm |
|---|---|---|
| پیشنیاز اصلی | نصب Docker Engine | Node.js نسخه 20.19 تا 24.x |
| محیط اجرا | ایزوله و تمیز در کانتینر | مستقیم روی سیستمعامل میزبان |
| بهروزرسانی | docker pull و اجرای مجدد | npm update -g n8n |
| مناسب برای | پروداکشن و اجرای پایدار | تست سریع و محیطهای ساده |
| مدیریت وابستگیها | خودکار، بدون تداخل نسخه | وابسته به نسخه Node.js میزبان |
| توصیه رسمی n8n | روش پیشنهادی برای اکثر موارد | گزینه جایگزین |
از منابع معتبر
بهروزرسانی n8n به آخرین نسخه
# دریافت آخرین نسخه ایمیج n8n
docker pull docker.n8n.io/n8nio/n8n
# پیدا کردن شناسه کانتینر در حال اجرا
docker ps -a
# توقف و حذف کانتینر قدیمی (بهجای <id> شناسه واقعی را بگذارید)
docker stop <id>
docker rm <id>
# اجرای مجدد با همان volume داده (دادهها حفظ میشوند)Bashعیبیابی مشکلات رایج
- صفحه باز نمیشود: بررسی کنید پورت 5678 در فایروال سرور باز باشد و کانتینر با
docker psدر حال اجرا باشد. - کانتینر بلافاصله بسته میشود: لاگ را با
docker logs n8nببینید؛ اغلب بهخاطر مجوز فایل تنظیمات یا متغیر اشتباه است. - خطای نسخه Node.js در روش npm: مطمئن شوید نسخه Node بین 20.19 و 24.x است؛ نسخههای قدیمیتر یا جدیدتر پشتیبانی نمیشوند.
- وبهوکها کار نمیکنند: برای دسترسی بیرونی باید آدرس عمومی (دامنه/HTTPS) و متغیر WEBHOOK_URL درست تنظیم شده باشد.
- دادهها بعد از ریاستارت پاک میشوند: یعنی volume به درستی mount نشده؛ از وجود
-v n8n_data:/home/node/.n8nمطمئن شوید.
محدودیتها و نکاتی که باید بدانید
- مسئولیت نگهداری با شماست: بهروزرسانی، بکاپ، امنیت و رفع خطا برعهده خودتان است؛ خود n8n خودمیزبانی را برای کاربران متخصص توصیه میکند.
- نیاز به دانش سرور: برای پیکربندی reverse proxy، SSL و فایروال به دانش پایه مدیریت لینوکس نیاز دارید.
- ریسک از دست رفتن داده: بدون بکاپ منظم از volume و دیتابیس، یک خطا میتواند گردشکارها را از بین ببرد.
- SQLite برای پروداکشن کافی نیست: در حجم بالای اجرا باید به PostgreSQL مهاجرت کنید که خود تنظیمات بیشتری میخواهد.
- منابع سرور: اجرای پایدار و همزمانِ چند گردشکار سنگین، به رم و پردازنده کافی نیاز دارد.
اجرای پایدار n8n روی زیرساخت وبداده
✅ دیتاسنترهای ایران، هلند و آلمان برای انتخاب نزدیکترین لوکیشن به شما و سرویسهای موردنیاز.
✅ امکان ارتقای منابع متناسب با رشد اتوماسیونها، بدون نیاز به مهاجرت.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در راهاندازی سرور و رفع مشکلات اتصال.
پرسشهای پرتکرار درباره نصب و راهاندازی n8n
n8n دقیقاً چه کاری انجام میدهد؟
n8n یک پلتفرم اتوماسیون گردشکار متنباز است که سرویسها، APIها و اپلیکیشنهای مختلف را به هم متصل میکند تا کارهای تکراری بهصورت خودکار انجام شوند. هر گردشکار از چند «نود» تشکیل میشود که هرکدام یک عملیات مشخص مثل دریافت داده، تبدیل یا ارسال آن را انجام میدهند.
برای نصب n8n کدام روش بهتر است، Docker یا npm؟
طبق مستندات رسمی، برای اکثر نیازهای خودمیزبانی روش Docker توصیه میشود چون محیطی ایزوله و تمیز فراهم میکند و از ناسازگاری نسخهها جلوگیری میکند. روش npm برای تست سریع و محیطهای ساده مناسبتر است و به نصب Node.js نسخه 20.19 تا 24.x نیاز دارد.
n8n روی چه پورتی اجرا میشود؟
بهصورت پیشفرض، پنل n8n روی پورت 5678 بالا میآید و از طریق آدرسی مانند http://localhost:5678 یا http://SERVER_IP:5678 در دسترس است. برای دسترسی امن از بیرون بهتر است آن را پشت reverse proxy با HTTPS قرار دهید.
آیا برای نصب با npm حتماً به Docker نیاز دارم؟
خیر، روش npm مستقل از Docker است و فقط به Node.js نیاز دارد. تنها در صورتی که بخواهید از قابلیت تونل برای تست وبهوکها استفاده کنید، n8n از یک کانتینر cloudflared کمک میگیرد. برای نصب و اجرای معمولی با npm، Docker ضروری نیست.
دیتابیس پیشفرض n8n چیست و کی باید عوض شود؟
دیتابیس پیشفرض SQLite است که برای استفاده شخصی و تعداد محدودی گردشکار زمانبندیشده کافی است. برای محیط پروداکشن و حجم بالای اجرا، استفاده از PostgreSQL توصیه میشود که با چند متغیر محیطی فعال میشود.
چطور دادههای n8n را هنگام بهروزرسانی حفظ کنم؟
در روش Docker، تا زمانی که volume داده (مثل n8n_data که به مسیر /home/node/.n8n وصل است) را حفظ کنید، بهروزرسانی ایمیج دادهها را پاک نمیکند. کافی است ایمیج جدید را با docker pull بگیرید، کانتینر قبلی را متوقف و حذف کنید و دوباره با همان volume اجرا کنید.
آیا اجرای n8n روی سرور امن است؟
n8n بهخودیخود امن است، اما مسئولیت ایمنسازی محیط با شماست. حتماً پنل را پشت HTTPS و یک reverse proxy قرار دهید، احراز هویت را فعال کنید و پورت را مستقیم روی اینترنت باز نگذارید. خودِ n8n هم تاکید میکند خودمیزبانی برای کاربران آشنا با مدیریت سرور مناسب است.
برای اجرای پایدار n8n چه سروری لازم است؟
یک سرور مجازی لینوکسی با رم و پردازنده کافی و اتصال شبکه باکیفیت مناسب است. مقدار منابع به تعداد و سنگینی گردشکارها بستگی دارد؛ برای شروع یک پلن میانرده کفایت میکند و در صورت رشد میتوانید منابع را ارتقا دهید.
جمعبندی و قدم بعدی شما
جمعبندی سریع
✅ با دستور رسمی، کانتینر n8n را روی پورت 5678 اجرا کنید.
✅ برای پروداکشن از PostgreSQL و reverse proxy با HTTPS استفاده کنید.
✅ از volume داده بهصورت منظم بکاپ بگیرید.



