ASRIN

بیایید حرف بزنیم

ثبت سفارش
۲۰۲۶/۰۹/۰۱

نصب n8n روی لپ‌تاپ و با داکر — راهنمای عملی

دو راه برای بالا آوردن n8n روی دستگاه خودتان: سریع‌ترین راه برای امتحان کردن، و راه درست با داکر که بعداً عین همان روی سرور هم کار می‌کند. با دستورهای دقیق و نکته‌ی نگه‌داشتن داده.

مقایسه سه روش نصب n8n روی لپ‌تاپ، با داکر و روی سرور اوبونتو همراه با زمان راه‌اندازی

قبل از هر چیز یک تصمیم بگیرید، چون بقیه‌ی مسیر به همین بستگی دارد.

مقایسه سه روش نصب n8n روی لپ‌تاپ، با داکر و روی سرور اوبونتو همراه با زمان راه‌اندازی
انتخاب به هدفتان بستگی دارد، نه به سطح مهارتتان.

اگر فقط می‌خواهید ببینید n8n چیست، راه اول کافی است. اگر قرار است چیزی بسازید که واقعاً استفاده شود، از همان اول با داکر شروع کنید — چون همان ستاپ، بی‌کم‌وکاست، روی سرور هم بالا می‌آید.

راه اول: سریع‌ترین حالت (npx)

اگر Node.js نسخه‌ی ۱۸ یا بالاتر دارید، یک دستور کافی است:

npx n8n

چند دقیقه صبر کنید تا دانلود شود. بعد در مرورگر بروید به http://localhost:5678.

ندارید؟ از nodejs.org نسخه‌ی LTS را بگیرید. برای بررسی:

node -v
npm -v

محدودیت‌هایی که باید بدانید: تا وقتی این پنجره‌ی ترمینال باز است، n8n زنده است. ببندیدش، فلوها هم می‌خوابند. ضمناً هیچ وب‌هوکی از بیرون به لپ‌تاپ شما نمی‌رسد — یعنی تریگرهایی مثل تلگرام یا فرم سایت کار نمی‌کنند مگر با تونل.

برای یاد گرفتن عالی است. برای کار واقعی نه.

راه دوم: داکر

اگر نمی‌دانید داکر چیست، این مقاله در ده دقیقه توضیحش می‌دهد. خلاصه‌اش: برنامه را با هر چیزی که لازم دارد در یک جعبه می‌بندد، و آن جعبه همه‌جا یک‌جور اجرا می‌شود.

گام ۱ — نصب داکر

روی ویندوز و مک، Docker Desktop را از سایت داکر بگیرید و نصب کنید. روی ویندوز اگر گفت WSL2 لازم است، اجازه بدهید نصبش کند.

برای بررسی، در ترمینال:

docker --version

گام ۲ — جایی برای نگه داشتن داده

این مهم‌ترین نکته‌ی کل مقاله است، پس اول می‌گویمش:

کانتینر حافظه ندارد. اگر بدون تنظیم مخصوص اجرایش کنید، با اولین به‌روزرسانی همه‌ی فلوها و اعتبارنامه‌هایتان پاک می‌شوند. برای همین یک «حجم» می‌سازیم که داده بیرون از کانتینر بماند:

docker volume create n8n_data

گام ۳ — اجرا

docker run -d --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e GENERIC_TIMEZONE="Asia/Tehran" \
  -e TZ="Asia/Tehran" \
  docker.n8n.io/n8nio/n8n

هر خط چه می‌کند:

  • -d در پس‌زمینه اجرا کن، ترمینال را اشغال نکن
  • --name n8n اسمی که بعداً با آن صدایش می‌زنید
  • -p 5678:5678 پورت داخل کانتینر را به پورت دستگاه وصل کن
  • -v n8n_data:... همان حجمی که ساختیم — داده اینجا می‌ماند
  • GENERIC_TIMEZONE بدون این، زمان‌بندی‌ها با ساعت گرینویچ کار می‌کنند و «هر روز ۹ صبح» می‌شود ۱۲:۳۰ ظهر

حالا http://localhost:5678 را باز کنید. اولین بار یک حساب مدیر می‌سازد.

دستورهای روزمره

docker logs -f n8n    # دیدن لاگ زنده
docker stop n8n       # خاموش کردن
docker start n8n      # روشن کردن دوباره

به‌روزرسانی

docker stop n8n
docker rm n8n
docker pull docker.n8n.io/n8nio/n8n
# بعد همان docker run بالا را دوباره بزنید

چون داده در حجم است نه در کانتینر، حذف کانتینر چیزی را از بین نمی‌برد. اگر گام ۲ را رد کرده باشید، همین‌جا همه چیز را از دست می‌دهید.

وقتی وب‌هوک لازم دارید

برای تریگرهایی مثل تلگرام، سرویس بیرونی باید بتواند به n8n شما وصل شود. روی لپ‌تاپ این ممکن نیست، مگر یک تونل موقت بسازید:

npx localtunnel --port 5678

یک نشانی عمومی می‌دهد. آن را در متغیر WEBHOOK_URL بگذارید و n8n را دوباره اجرا کنید.

این راه‌حل موقت است: نشانی هر بار عوض می‌شود و اتصال پایدار نیست. برای چیزی که باید همیشه کار کند، نصب روی سرور اوبونتو جواب درست است.

سه خطای رایج

port is already allocated
چیز دیگری روی ۵۶۷۸ نشسته. یا پیدایش کنید و ببندید، یا پورت را عوض کنید: -p 5679:5678

صفحه بالا نمی‌آید.
اول docker ps بزنید ببینید کانتینر واقعاً بالاست. اگر نبود، docker logs n8n علتش را می‌گوید.

زمان‌بندی‌ها سر ساعت اشتباه اجرا می‌شوند.
متغیر منطقه‌ی زمانی را جا انداخته‌اید. باید هر دو متغیر TZ و GENERIC_TIMEZONE ست شوند.

قدم بعد

حالا که n8n بالاست، یک فلوی واقعی بسازید: ساخت ربات تلگرام قدم‌به‌قدم.

دیدگاه شما

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *