اگر عبارتهای «نصب n8n با داکر» یا «n8n docker compose فارسی» را جستوجو کردهاید، این راهنما یک مسیر محدود و قابل تکرار برای اجرای محلی n8n روی ویندوز نشان میدهد. برای استفاده عمومی روی اینترنت، همین فایل کافی نیست: دامنه، HTTPS، پشتیبانگیری، مدیریت دسترسی و تنظیم وبهوک جداگانه لازماند. این راهنما برای یادگیری و ساخت نخستین گردش کار مناسب است.
قبل از شروع: WSL2 و Docker Compose
- Docker Desktop را از منبع رسمی نصب و با WSL2 backend اجرا کنید. مجازیسازی باید فعال باشد.
- در تنظیمات Docker Desktop مطمئن شوید موتور در حال اجراست. در PowerShell یا ترمینال WSL،
docker --versionوdocker compose versionرا اجرا کنید؛ هر دو باید نسخه نشان دهند. - اگر از WSL استفاده میکنید، پوشه پروژه را داخل فایلسیستم لینوکس، مانند
~/n8n-local، بسازید. راهنمای رسمی n8n درباره کندی و مشکل مجوز در bind mountهای/mnt/c/...هشدار میدهد.
برای استفاده دائمی سازمانی، مستندات رسمی نصب n8n با Docker Compose را مبنای پیکربندی قرار دهید. نمونه زیر عمداً فقط خود n8n را به صورت محلی اجرا میکند؛ سرویس اختیاری n8n Assistant را نصب نمیکند.
فایل Compose آماده برای اجرای محلی
در یک پوشه خالی، فایلی به نام compose.yaml بسازید و متن زیر را قرار دهید:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: unless-stopped
ports:
- "127.0.0.1:5678:5678"
environment:
TZ: Asia/Tehran
GENERIC_TIMEZONE: Asia/Tehran
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
اتصال پورت به 127.0.0.1 یعنی این نمونه فقط از همان رایانه در دسترس است. n8n_data یک volume نامدار است و دادههای برنامه را هنگام ساخت دوباره کانتینر نگه میدارد. دو متغیر زمانی برای ساعت سیستم و اجرای درست گرههای زمانبندی استفاده میشوند. مطابق راهنمای نصب n8n، مسیر /home/node/.n8n برای حفظ داده مهم است.
اجرا و اولین بررسی
در همان پوشه، این دستورها را بهترتیب اجرا کنید:
docker compose up -d
docker compose ps
docker compose logs --tail=50 n8n
پس از بالا آمدن سرویس، http://localhost:5678 را در مرورگر باز کنید. اگر صفحه راهاندازی اولیه دیده شد، نصب موفق بوده است. اطلاعات حساب مالک را در مدیر رمزعبور نگه دارید. برای توقف بدون حذف داده، docker compose down را اجرا کنید. دستور down -v volume را نیز حذف میکند؛ برای توقف عادی از آن استفاده نکنید.
آزمون عملی: یک گردش کار ساده با Manual Trigger و یک گره Set/Edit Fields بسازید که متنی مانند «سلام n8n» را تولید کند. آن را اجرا کنید، سپس docker compose down و docker compose up -d را انجام دهید. اگر گردش کار هنوز در فهرست است، ماندگاری داده را در محیط خودتان تأیید کردهاید.
خطاهای رایج و روش تشخیص
| نشانه | بررسی بعدی |
|---|---|
docker compose شناخته نمیشود | Docker Desktop یا افزونه Compose v2 نصب و اجرا نشده؛ نسخهها را بررسی کنید. |
صفحه localhost:5678 باز نمیشود | docker compose ps و docker compose logs --tail=50 n8n را بررسی کنید؛ شاید کانتینر بالا نیامده یا پورت اشغال است. |
| خطای WSL یا virtualization | وضعیت WSL2 و مجازیسازی را طبق راهنمای Docker Desktop بررسی کنید. |
| داده پس از ساخت دوباره کانتینر نیست | نام پروژه Compose، volume و مسیر mount را بررسی کنید؛ حذف volume داده را پاک میکند. |
| زمان اجرای Schedule اشتباه است | مقدار GENERIC_TIMEZONE و تنظیم زمانبندی گره را بررسی کنید. |
متن کامل خطا را بخوانید؛ صرفاً تغییر تصادفی تنظیمات معمولاً علت را پنهان میکند. اگر docker compose ps سرویس را Exited نشان میدهد، گزارش همان سرویس نقطه شروع است.
بهروزرسانی و پشتیبانگیری
پیش از بهروزرسانی، از volume و گردشکارها پشتیبان بگیرید و تغییرات ناسازگار نسخه را بخوانید. سپس تصویر جدید را دریافت و سرویس را بازسازی کنید:
docker compose pull
docker compose up -d
docker compose ps
بهروزرسانی را روی یک گردش کار آزمایشی بررسی کنید. برای محیط عملیاتی، نسخه تصویر را مشخص و تغییر آن را برنامهریزی کنید؛ استفاده از برچسب پیشفرض در نمونه آموزشی برای شروع سادهتر است. کپی فایل compose.yaml بهتنهایی پشتیبان داده و کلید رمزگذاری n8n نیست.
بعد از نصب: از اتوماسیون تا ایجنت
n8n یک ابزار اتصال و خودکارسازی گردش کار است. لازم نیست برای هر کار از مدل زبانی استفاده کنید. ابتدا یک ورودی مشخص و یک خروجی قابل بررسی بسازید؛ سپس اگر انتخاب ابزار بر اساس نتیجه لازم بود، راهنمای ساخت ایجنت هوش مصنوعی را بخوانید. اگر قرار است ایجنت از اسناد فارسی پاسخ مستند بدهد، راهنمای RAG روش آمادهسازی و ارزیابی سند را توضیح میدهد.
مرز این راهنما: نصب محلی به معنی آمادهبودن برای انتشار عمومی نیست. پیش از اتصال ایمیل، داده مشتری یا ابزارهای نوشتنی، سطح دسترسی، سیاست داده و تأیید انسانی را مشخص کنید.
پرسشهای متداول
برای نصب n8n روی ویندوز به Node.js نیاز دارم؟
در روش این راهنما خیر؛ n8n داخل کانتینر Docker اجرا میشود. Docker Desktop با پشتیبانی WSL2 و Docker Compose لازم است.
آیا با خاموش کردن کانتینر، گردشکارهای n8n پاک میشوند؟
اگر volume پایدار را مطابق نمونه به مسیر /home/node/.n8n متصل کنید، داده با توقف یا ساخت دوباره کانتینر باقی میماند. حذف volume یا خرابی دیسک همچنان خطر از دست رفتن داده دارد؛ نسخه پشتیبان تهیه کنید.
چرا localhost:5678 باز نمیشود؟
ابتدا اجرای Docker Desktop، وضعیت کانتینر با docker compose ps، گزارش خطا با docker compose logs و آزاد بودن پورت 5678 را بررسی کنید.