🏔️ گراول — «برای رسیدن به قله باید از سنگریزه عبور کرد.»
این آموزش از صفرِ صفر و بدون هیچ پیشنیازی نوشته شده. فرض ما این است که فقط بلدید کامپیوتر را روشن کنید، کلیک کنید و تایپ کنید — همین. بقیهاش را قدمبهقدم با هم پیش میرویم.
سه چیزی که در پایان خواهید داشت:
فرضهای این آموزش: ویندوز ۱۰ (نسخهٔ 22H2) یا ویندوز ۱۱، پردازندهٔ ۶۴بیتی، و حداقل ۴ گیگابایت رم. اگر مک یا لینوکس دارید، بگویید تا نسخهٔ متناسب را برایتان آماده کنم.
یک مثال ساده از آشپزخانه: فرض کنید میخواهید یک غذای خاص بپزید، ولی برای هر غذا باید یک آشپزخانهٔ جدا با وسایل مخصوص خودش داشته باشید تا بوی غذاها قاطی نشود و چیزی خراب نکند.
داکر (Docker) دقیقاً همین کار را میکند: برای هر برنامه یک «آشپزخانهٔ کوچکِ جداگانه» میسازد که همهٔ وسایل و نیازهای آن برنامه از قبل داخلش هست. به این آشپزخانهٔ آماده و بستهبندیشده میگویند کانتینر (Container).
پس ما بهجای اینکه n8n را با هزار تنظیم دستی روی ویندوز نصب کنیم، به داکر میگوییم: «آشپزخانهٔ آمادهٔ n8n را برایم بیاور و روشن کن.» تمام. 🎯
داکر برای کار کردن به یک قابلیت سختافزاری به نام مجازیسازی (Virtualization) نیاز دارد. بیایید اول مطمئن شویم روشن است.
الف) بررسی مجازیسازی (سادهترین راه):
ب) بررسی نسخهٔ ویندوز: کلید Windows + R را بزنید، تایپ کنید winver و Enter. باید ویندوز ۱۰ نسخهٔ 22H2 یا ویندوز ۱۱ باشد.
⚠️ مواظب باش
اگر جلوی Virtualization نوشته بود Disabled، یعنی این قابلیت در BIOS خاموش است. برای روشنکردنش باید هنگام روشنشدن کامپیوتر وارد BIOS شوید (معمولاً با کلید Del یا F2) و گزینهای شبیه Intel VT-x یا AMD-SVM را روی Enabled بگذارید. چون نام دقیق این گزینه در هر مادربورد فرق میکند، اگر پیدایش نکردید مدل مادربوردتان را بگویید تا راهنمایی کنم.
✅ ایست بازرسی
الان باید بدانید که مجازیسازی روی Enabled است و نسخهٔ ویندوزتان مناسب است. اگر هر دو درست بود، برویم سراغ مرحلهٔ بعد.
گام ۱: منوی Start را باز کنید، تایپ کنید PowerShell، سپس روی آن راستکلیک کرده و گزینهٔ Run as administrator (اجرا بهعنوان مدیر) را بزنید. اگر پنجرهای برای تأیید باز شد، Yes را بزنید.
📖 چرا «بهعنوان مدیر»؟
نصب WSL 2 یک تغییر عمیق در ویندوز است و اجازهٔ مدیر (Administrator) میخواهد. اگر پنجرهٔ پاورشل را عادی باز کنید، دستور با خطا رد میشود.
گام ۲: این یک دستور را تایپ کنید (یا کپی/پیست کنید) و Enter بزنید:
چند دقیقه صبر کنید تا دانلود و نصب تمام شود. در پایان از شما میخواهد کامپیوتر را ریاستارت کنید. حتماً ریاستارت کنید. 🔄
گام ۳: بعد از ریاستارت، دوباره پاورشل را بهعنوان مدیر باز کنید و برای مطمئنشدن از بهروز بودن، این دو دستور را یکییکی اجرا کنید:
✅ ایست بازرسی
بعد از دستور wsl --version باید چند خط اطلاعات ببینید که خط اولش عددی مثل 2.x.x است. اگر این را دیدید، WSL آماده است. اگر پیام خطا دیدید، به بخش «رفع اشکال» در انتهای صفحه بروید.
حالا خودِ داکر را نصب میکنیم. دو راه داریم؛ راه اول تمیزتر و سریعتر است.
راه اول (پیشنهادی) — نصب با یک دستور در پاورشل:
ویندوز ۱۰/۱۱ یک نصبکنندهٔ داخلی به نام 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. یعنی موتور داکر روشن است. 🎉
هیچوقت فقط به چراغ سبز اعتماد نکنیم؛ بیایید با یک تست واقعی مطمئن شویم. یک پاورشلِ معمولی (اینبار دیگر لازم نیست «بهعنوان مدیر» باشد) باز کنید.
حالا یک کانتینر آزمایشیِ کوچک را اجرا میکنیم که فقط یک پیام خوشآمد چاپ میکند:
✅ ایست بازرسی
باید پیامی ببینید که با جملهٔ Hello from Docker! شروع میشود. اگر این پیام آمد، داکرِ شما ۱۰۰٪ سالم است و آمادهٔ راهاندازی n8n هستیم. 🚀
این مهمترین مرحله برای ذخیرهسازی است، پس با دقت جلو برویم.
راهحل، یک Volume (انبار) است.
در پاورشل، این انبار را با یک دستور میسازیم:
برای مطمئنشدن که ساخته شد، میتوانید فهرست انبارها را ببینید:
✅ ایست بازرسی
در خروجی دستور بالا باید نام n8n_data را در فهرست ببینید. یعنی کمدِ بایگانی آماده است و در مرحلهٔ بعد کانتینر را به آن وصل میکنیم.
رسیدیم به قلبِ کار. با یک دستور، n8n را بالا میآوریم و همان لحظه آن را به انبار دائمی وصل میکنیم. این دستور را کامل کپی کنید و در پاورشل بزنید (همه در یک خط است):
بار اول کمی طول میکشد چون داکر باید «آشپزخانهٔ آمادهٔ n8n» را دانلود کند. صبور باشید. ⏳
بیایید این دستور را تکهتکه بفهمیم — هیچچیز جادویی نیست:
-d ← n8n را در پسزمینه اجرا کن (پنجرهٔ پاورشل آزاد بماند).--name n8n ← اسم کانتینر را بگذار «n8n» تا بعداً راحت صدایش بزنیم.--restart unless-stopped ← هر بار که کامپیوتر روشن شد، خودت هم روشن شو.-p 5678:5678 ← درِ ارتباطی را باز کن تا از مرورگر بتوانیم واردش شویم.-e ...Tehran ← ساعت و منطقهٔ زمانی را روی تهران تنظیم کن.-v n8n_data:/home/node/.n8n ← 🔑 مهمترین بخش: انبار دائمی را به پوشهٔ دادههای 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 زنده است! برویم بازش کنیم.
مرورگر دلخواهتان (کروم، فایرفاکس، اج) را باز کنید و این آدرس را در نوار بالا تایپ کنید و Enter بزنید:
بار اول، n8n از شما میخواهد یک حساب محلی بسازید: نام، ایمیل و رمز عبور. این فقط برای همین دستگاه شماست و هیچ ثبتنام اینترنتی یا هزینهای ندارد. آن را پر کنید و وارد شوید.
✅ ایست بازرسی
الان باید صفحهٔ اصلی n8n (یک بومِ خالی برای ساختن ورکفلو) را ببینید. تبریک میگویم — n8n شما کامل و آماده است! 🎉
حالا چند دستور کاربردی که برای نگهداری روزمرهٔ n8n لازم دارید. همه در پاورشل معمولی اجرا میشوند.
الف) دستورهای روزمرهٔ کانتینر:
ب) بهروزرسانی n8n به آخرین نسخه: چون دادهها در انبار امن هستند، بهروزرسانی خیلی ساده است — کانتینر قدیمی را دور میریزیم و از نسخهٔ جدید یکی نو میسازیم.
💡 نکته طلایی
چون در دستور بالا دوباره از همان انبار n8n_data استفاده کردیم، بعد از بهروزرسانی همهٔ ورکفلوها و حساب کاربریتان دقیقاً سرِ جایشان هستند. این کلِ فلسفهٔ Volume است.
ج) پشتیبانگیری از انبار (خیلی مهم): بیایید از تمام محتوای انبار یک فایل پشتیبان بسازیم و روی ویندوز ذخیره کنیم. این دستور یک فایل به نام n8n-backup.tar.gz در پوشهٔ فعلی میسازد:
بازگرداندن از پشتیبان (اگر روزی خواستید فایل پشتیبان را برگردانید، در همان پوشهای که فایل هست این را بزنید):
📖 ${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 گزارشها را ببینید تا علت خطا مشخص شود.