🐳

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

🏔️ گراول — «برای رسیدن به قله باید از سنگ‌ریزه عبور کرد.»

قراره چی یاد بگیریم؟ از یک ویندوزِ خالی شروع می‌کنیم، Docker Desktop را با دستورهای PowerShell نصب می‌کنیم، یک محل ذخیره‌سازی دائمی می‌سازیم که داده‌ها هرگز پاک نشوند، و در پایان n8n کاملاً آماده در مرورگرمان بالا می‌آید. ✅
⚙️ اتوماسیون ⏱️ حدود ۵۰ دقیقه 🎯 سطح: مبتدی 🖥️ ویندوز ۱۰/۱۱

🧭 قبل از شروع، یک نگاه از بالا

این آموزش از صفرِ صفر و بدون هیچ پیش‌نیازی نوشته شده. فرض ما این است که فقط بلدید کامپیوتر را روشن کنید، کلیک کنید و تایپ کنید — همین. بقیه‌اش را قدم‌به‌قدم با هم پیش می‌رویم.

سه چیزی که در پایان خواهید داشت:

فرض‌های این آموزش: ویندوز ۱۰ (نسخهٔ 22H2) یا ویندوز ۱۱، پردازندهٔ ۶۴بیتی، و حداقل ۴ گیگابایت رم. اگر مک یا لینوکس دارید، بگویید تا نسخهٔ متناسب را برایتان آماده کنم.

۰

داکر و کانتینر یعنی چه؟

⏱️ ۲ دقیقه

یک مثال ساده از آشپزخانه: فرض کنید می‌خواهید یک غذای خاص بپزید، ولی برای هر غذا باید یک آشپزخانهٔ جدا با وسایل مخصوص خودش داشته باشید تا بوی غذاها قاطی نشود و چیزی خراب نکند.

داکر (Docker) دقیقاً همین کار را می‌کند: برای هر برنامه یک «آشپزخانهٔ کوچکِ جداگانه» می‌سازد که همهٔ وسایل و نیازهای آن برنامه از قبل داخلش هست. به این آشپزخانهٔ آماده و بسته‌بندی‌شده می‌گویند کانتینر (Container).

پس ما به‌جای اینکه n8n را با هزار تنظیم دستی روی ویندوز نصب کنیم، به داکر می‌گوییم: «آشپزخانهٔ آمادهٔ n8n را برایم بیاور و روشن کن.» تمام. 🎯

📖 n8n چیست؟ — یک ابزار متن‌باز برای اتوماسیون است؛ یعنی کارهای تکراری (مثل «هر ایمیل جدید را در تلگرام بفرست») را بدون کدنویسی و فقط با کشیدن جعبه‌ها به هم وصل می‌کنید. تلفظش می‌شود «اِن-اِیت-اِن».
۱

بررسی سلامت سیستم

مرحله ۱ از ۸ ⏱️ ۵ دقیقه

داکر برای کار کردن به یک قابلیت سخت‌افزاری به نام مجازی‌سازی (Virtualization) نیاز دارد. بیایید اول مطمئن شویم روشن است.

📖 مجازی‌سازی چیست؟ — توانایی پردازندهٔ کامپیوتر برای اجرای یک «کامپیوترِ کوچکِ مجازی» داخل خودش. داکر از این قابلیت برای ساختن آن آشپزخانه‌های جداگانه استفاده می‌کند. معمولاً روشن است، ولی گاهی در تنظیمات BIOS خاموش مانده.

الف) بررسی مجازی‌سازی (ساده‌ترین راه):

  1. روی نوار پایین ویندوز راست‌کلیک کنید و Task Manager را باز کنید.
  2. به سربرگ Performance بروید و روی CPU کلیک کنید.
  3. پایین صفحه دنبال کلمهٔ Virtualization بگردید. اگر جلویش نوشته Enabled، عالی است. ✅

ب) بررسی نسخهٔ ویندوز: کلید Windows + R را بزنید، تایپ کنید winver و Enter. باید ویندوز ۱۰ نسخهٔ 22H2 یا ویندوز ۱۱ باشد.

⚠️ مواظب باش

اگر جلوی Virtualization نوشته بود Disabled، یعنی این قابلیت در BIOS خاموش است. برای روشن‌کردنش باید هنگام روشن‌شدن کامپیوتر وارد BIOS شوید (معمولاً با کلید Del یا F2) و گزینه‌ای شبیه Intel VT-x یا AMD-SVM را روی Enabled بگذارید. چون نام دقیق این گزینه در هر مادربورد فرق می‌کند، اگر پیدایش نکردید مدل مادربوردتان را بگویید تا راهنمایی کنم.

✅ ایست بازرسی

الان باید بدانید که مجازی‌سازی روی Enabled است و نسخهٔ ویندوزتان مناسب است. اگر هر دو درست بود، برویم سراغ مرحلهٔ بعد.

۲

نصب WSL 2 با پاورشل

مرحله ۲ از ۸ ⏱️ ۷ دقیقه
📖 WSL 2 و PowerShell چیستند؟
PowerShell یک پنجرهٔ سیاه‌رنگ است که در آن به‌جای کلیک‌کردن، «دستور» تایپ می‌کنید و ویندوز آن را انجام می‌دهد.
WSL 2 یک موتور کوچک لینوکسی داخل ویندوز است که داکر برای اجرای کانتینرها به آن تکیه می‌کند. بدون آن، داکر روی ویندوز راه نمی‌افتد.

گام ۱: منوی Start را باز کنید، تایپ کنید PowerShell، سپس روی آن راست‌کلیک کرده و گزینهٔ Run as administrator (اجرا به‌عنوان مدیر) را بزنید. اگر پنجره‌ای برای تأیید باز شد، Yes را بزنید.

📖 چرا «به‌عنوان مدیر»؟

نصب WSL 2 یک تغییر عمیق در ویندوز است و اجازهٔ مدیر (Administrator) می‌خواهد. اگر پنجرهٔ پاورشل را عادی باز کنید، دستور با خطا رد می‌شود.

گام ۲: این یک دستور را تایپ کنید (یا کپی/پیست کنید) و Enter بزنید:

▸ نصب کامل WSL 2 با یک دستور
# WSL 2 و کرنل لینوکس را یکجا نصب می‌کند
wsl --install

چند دقیقه صبر کنید تا دانلود و نصب تمام شود. در پایان از شما می‌خواهد کامپیوتر را ری‌استارت کنید. حتماً ری‌استارت کنید. 🔄

گام ۳: بعد از ری‌استارت، دوباره پاورشل را به‌عنوان مدیر باز کنید و برای مطمئن‌شدن از به‌روز بودن، این دو دستور را یکی‌یکی اجرا کنید:

▸ به‌روزرسانی و بررسی نسخه
# آخرین نسخهٔ کرنل را می‌گیرد
wsl --update

# شمارهٔ نسخه را نشان می‌دهد (باید ۲.۱.۵ یا بالاتر باشد)
wsl --version

✅ ایست بازرسی

بعد از دستور wsl --version باید چند خط اطلاعات ببینید که خط اولش عددی مثل 2.x.x است. اگر این را دیدید، WSL آماده است. اگر پیام خطا دیدید، به بخش «رفع اشکال» در انتهای صفحه بروید.

۳

نصب Docker Desktop

مرحله ۳ از ۸ ⏱️ ۸ دقیقه

حالا خودِ داکر را نصب می‌کنیم. دو راه داریم؛ راه اول تمیزتر و سریع‌تر است.

راه اول (پیشنهادی) — نصب با یک دستور در پاورشل:

ویندوز ۱۰/۱۱ یک نصب‌کنندهٔ داخلی به نام winget دارد. در همان پاورشلِ مدیر این دستور را بزنید:

▸ نصب Docker Desktop با winget
# Docker Desktop را دانلود و نصب می‌کند
winget install -e --id Docker.DockerDesktop
📖 winget چیست؟ — یک «فروشگاه نرم‌افزار خطِ فرمانی» که خودِ ویندوز دارد. به‌جای اینکه برویم سایت را باز کنیم و فایل نصب را دانلود کنیم، winget این کار را با یک دستور برایمان انجام می‌دهد.

راه دوم — نصب دستی: اگر winget کار نکرد، به سایت رسمی docker.com بروید، دکمهٔ Download Docker Desktop را بزنید، نسخهٔ ویندوز (معمولاً x86_64) را دانلود و فایل Docker Desktop Installer.exe را اجرا کنید. در صفحهٔ تنظیمات، تیکِ گزینهٔ Use WSL 2 instead of Hyper-V را روشن بگذارید.

گام آخر این مرحله: بعد از نصب، از منوی Start برنامهٔ Docker Desktop را باز کنید. اولین بار متن قرارداد (Subscription Service Agreement) را نشان می‌دهد؛ آن را بخوانید و Accept بزنید. حالا صبر کنید تا آیکون نهنگ 🐳 در نوار پایین ویندوز از حالت متحرک خارج شود و ثابت بماند.

💡 نکته

استفاده از Docker Desktop برای کار شخصی و کسب‌وکارهای کوچک رایگان است. لازم نیست حتماً حساب بسازید؛ می‌توانید بدون ورود (Sign in) هم از آن استفاده کنید.

✅ ایست بازرسی

الان باید آیکون نهنگ 🐳 در گوشهٔ نوار پایین ویندوز ثابت باشد و در خودِ برنامهٔ Docker Desktop، پایین‌سمت‌چپ نوشته باشد Engine running. یعنی موتور داکر روشن است. 🎉

۴

اطمینان از سالم‌بودن داکر

مرحله ۴ از ۸ ⏱️ ۴ دقیقه

هیچ‌وقت فقط به چراغ سبز اعتماد نکنیم؛ بیایید با یک تست واقعی مطمئن شویم. یک پاورشلِ معمولی (این‌بار دیگر لازم نیست «به‌عنوان مدیر» باشد) باز کنید.

▸ بررسی نسخهٔ داکر
# اگر شمارهٔ نسخه را دید، یعنی داکر نصب شده
docker --version

حالا یک کانتینر آزمایشیِ کوچک را اجرا می‌کنیم که فقط یک پیام خوش‌آمد چاپ می‌کند:

▸ تست واقعی داکر
# تصویر تست را دانلود و اجرا می‌کند
docker run hello-world

✅ ایست بازرسی

باید پیامی ببینید که با جملهٔ Hello from Docker! شروع می‌شود. اگر این پیام آمد، داکرِ شما ۱۰۰٪ سالم است و آمادهٔ راه‌اندازی n8n هستیم. 🚀

۵

ساخت انبار دائمی (Volume)

مرحله ۵ از ۸ ⏱️ ۴ دقیقه

این مهم‌ترین مرحله برای ذخیره‌سازی است، پس با دقت جلو برویم.

📖 چرا کانتینر تنها کافی نیست؟ — کانتینر مثل یک تخته‌وایت‌بورد است: تا وقتی روشن است هر چیزی رویش بنویسید می‌ماند، ولی اگر پاکش کنید یا از نو بسازید، همه‌چیز پاک می‌شود. اگر ورک‌فلوها و رمزهای n8n را فقط داخل کانتینر نگه داریم، با اولین به‌روزرسانی یا حذف کانتینر، همه‌چیز از دست می‌رود.

راه‌حل، یک Volume (انبار) است.

📖 Volume چیست؟ — یک «کمدِ بایگانیِ جداگانه» که بیرونِ کانتینر روی خودِ ویندوز نگه‌داری می‌شود. ما داده‌های n8n را به‌جای داخل کانتینر، داخل این کمد می‌گذاریم. حالا هر بلایی سرِ کانتینر بیاید — حذف شود، به‌روزرسانی شود، خراب شود — داده‌ها در کمد سالم می‌مانند.

در پاورشل، این انبار را با یک دستور می‌سازیم:

▸ ساخت انبار دائمی برای n8n
# یک Volume به نام n8n_data می‌سازد
docker volume create n8n_data

برای مطمئن‌شدن که ساخته شد، می‌توانید فهرست انبارها را ببینید:

▸ دیدن فهرست انبارها
docker volume ls

✅ ایست بازرسی

در خروجی دستور بالا باید نام n8n_data را در فهرست ببینید. یعنی کمدِ بایگانی آماده است و در مرحلهٔ بعد کانتینر را به آن وصل می‌کنیم.

۶

راه‌اندازی کانتینر n8n

مرحله ۶ از ۸ ⏱️ ۶ دقیقه

رسیدیم به قلبِ کار. با یک دستور، n8n را بالا می‌آوریم و همان لحظه آن را به انبار دائمی وصل می‌کنیم. این دستور را کامل کپی کنید و در پاورشل بزنید (همه در یک خط است):

▸ راه‌اندازی دائمی n8n (کپی کامل کنید)
# ©️ Gravel — راه‌اندازی n8n با ذخیره‌سازی دائمی و روشن‌شدن خودکار
docker run -d --name n8n --restart unless-stopped -p 5678:5678 -e GENERIC_TIMEZONE="Asia/Tehran" -e TZ="Asia/Tehran" -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

بار اول کمی طول می‌کشد چون داکر باید «آشپزخانهٔ آمادهٔ n8n» را دانلود کند. صبور باشید. ⏳

بیایید این دستور را تکه‌تکه بفهمیم — هیچ‌چیز جادویی نیست:

💡 نکته

پوشهٔ /home/node/.n8n جایی است که n8n کلید رمزنگاری، ورک‌فلوها و اطلاعات ورود شما را نگه می‌دارد. چون آن را به انبار n8n_data وصل کردیم، حتی اگر کانتینر را کاملاً حذف کنید، با ساختن دوبارهٔ آن همه‌چیز سرِ جایش برمی‌گردد.

📖 یک نکتهٔ فنی کوچک

در آموزش‌های قدیمی‌تر متغیری به نام N8N_RUNNERS_ENABLED=true هم اضافه می‌شد. از نسخهٔ ۲ به بعدِ n8n این متغیر دیگر لازم نیست و حذفش کردیم. اگر جایی دیدید، نگران نباشید.

⚠️ مواظب باش

اگر پیام خطایی شبیه port is already allocated دیدید، یعنی برنامهٔ دیگری در حال استفاده از درِ شمارهٔ 5678 است. راه‌حلش را در بخش «رفع اشکال» آورده‌ام.

✅ ایست بازرسی

این دستور را بزنید: docker ps — باید کانتینری با نام n8n در فهرست کانتینرهای در حال اجرا ببینید. اگر دیدید، n8n زنده است! برویم بازش کنیم.

۷

باز کردن n8n و ساخت حساب

مرحله ۷ از ۸ ⏱️ ۳ دقیقه

مرورگر دلخواهتان (کروم، فایرفاکس، اج) را باز کنید و این آدرس را در نوار بالا تایپ کنید و Enter بزنید:

▸ آدرس ورود به n8n
http://localhost:5678
📖 localhost یعنی چه؟ — یعنی «همین کامپیوترِ خودم». وقتی localhost:5678 را باز می‌کنید، مرورگر به همان n8nی که روی دستگاه خودتان روشن است وصل می‌شود — نه به اینترنت. عدد 5678 همان «درِ ارتباطی» است که در مرحلهٔ قبل باز کردیم.

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

✅ ایست بازرسی

الان باید صفحهٔ اصلی n8n (یک بومِ خالی برای ساختن ورک‌فلو) را ببینید. تبریک می‌گویم — n8n شما کامل و آماده است! 🎉

۸

مدیریت، به‌روزرسانی و پشتیبان‌گیری

مرحله ۸ از ۸ ⏱️ ۷ دقیقه

حالا چند دستور کاربردی که برای نگه‌داری روزمرهٔ n8n لازم دارید. همه در پاورشل معمولی اجرا می‌شوند.

الف) دستورهای روزمرهٔ کانتینر:

▸ روشن / خاموش / وضعیت / گزارش‌ها
# دیدن کانتینرهای در حال اجرا
docker ps

# خاموش‌کردن موقت n8n
docker stop n8n

# روشن‌کردن دوبارهٔ n8n
docker start n8n

# دیدن گزارش‌های زنده (برای عیب‌یابی) — با Ctrl+C خارج می‌شوید
docker logs -f n8n

ب) به‌روزرسانی n8n به آخرین نسخه: چون داده‌ها در انبار امن هستند، به‌روزرسانی خیلی ساده است — کانتینر قدیمی را دور می‌ریزیم و از نسخهٔ جدید یکی نو می‌سازیم.

▸ به‌روزرسانی امن (داده‌ها حفظ می‌شوند)
# ۱) دانلود آخرین نسخهٔ n8n
docker pull docker.n8n.io/n8nio/n8n

# ۲) خاموش و حذف کانتینر قدیمی (داده‌ها در Volume می‌مانند)
docker stop n8n
docker rm n8n

# ۳) اجرای دوبارهٔ همان دستور مرحلهٔ ۶ (یک خط)
docker run -d --name n8n --restart unless-stopped -p 5678:5678 -e GENERIC_TIMEZONE="Asia/Tehran" -e TZ="Asia/Tehran" -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

💡 نکته طلایی

چون در دستور بالا دوباره از همان انبار n8n_data استفاده کردیم، بعد از به‌روزرسانی همهٔ ورک‌فلوها و حساب کاربری‌تان دقیقاً سرِ جایشان هستند. این کلِ فلسفهٔ Volume است.

ج) پشتیبان‌گیری از انبار (خیلی مهم): بیایید از تمام محتوای انبار یک فایل پشتیبان بسازیم و روی ویندوز ذخیره کنیم. این دستور یک فایل به نام n8n-backup.tar.gz در پوشهٔ فعلی می‌سازد:

▸ ساخت فایل پشتیبان از داده‌های n8n
docker run --rm -v n8n_data:/data -v ${PWD}:/backup busybox tar czf /backup/n8n-backup.tar.gz -C /data .

بازگرداندن از پشتیبان (اگر روزی خواستید فایل پشتیبان را برگردانید، در همان پوشه‌ای که فایل هست این را بزنید):

▸ بازگرداندن داده‌ها از فایل پشتیبان
docker run --rm -v n8n_data:/data -v ${PWD}:/backup busybox tar xzf /backup/n8n-backup.tar.gz -C /data

📖 ${PWD} یعنی چه؟

در پاورشل، ${PWD} یعنی «پوشه‌ای که همین الان در آن هستم». پس فایل پشتیبان دقیقاً در همان مسیری ساخته می‌شود که پاورشل باز است. برای دیدن مسیر فعلی می‌توانید دستور pwd را بزنید.

✅ ایست بازرسی

بعد از دستور پشتیبان‌گیری، در پوشهٔ فعلی باید فایل n8n-backup.tar.gz ساخته شده باشد. آن را جای امنی نگه دارید. حالا شما نه‌تنها n8n دارید، بلکه بلدید ازش مراقبت کنید. 💪

🔧

رفع اشکال — پرتکرارترین مشکلات

⏱️ در صورت نیاز

⚠️ ۱) داکر می‌گوید WSL 2 installation is incomplete

یعنی موتور لینوکسی به‌روز نیست. پاورشلِ مدیر را باز کنید، دستور wsl --update را بزنید، بعد یک بار Docker Desktop را ببندید و دوباره باز کنید.

⚠️ ۲) خطای Virtualization / داکر بالا نمی‌آید

مجازی‌سازی در BIOS خاموش است. به مرحلهٔ ۱ برگردید و طبق راهنما آن را روشن کنید. تا این روشن نشود داکر کار نمی‌کند.

⚠️ ۳) خطای port is already allocated (درِ ۵۶۷۸ اشغال است)

برنامهٔ دیگری از همان در استفاده می‌کند. کافی است در دستور مرحلهٔ ۶، به‌جای -p 5678:5678 بنویسید -p 5679:5678 و بعد در مرورگر آدرس http://localhost:5679 را باز کنید.

⚠️ ۴) دستور wsl --install با خطا رد می‌شود

احتمالاً پاورشل را «به‌عنوان مدیر» باز نکرده‌اید. پنجره را ببندید و طبق مرحلهٔ ۲، حتماً با راست‌کلیک و Run as administrator باز کنید.

⚠️ ۵) کانتینر روشن می‌شود ولی صفحهٔ localhost باز نمی‌شود

چند ثانیه صبر کنید (بار اول کمی طول می‌کشد)، بعد صفحه را رفرش کنید. اگر باز هم نشد، با docker logs -f n8n گزارش‌ها را ببینید تا علت خطا مشخص شود.

🎉 تمام شد! حالا تو بلدی…

✍️ طراحی و تدوین: Mehdi Rezghi — مهدی رزقی