راه‌اندازی و پیکربندی

راهنمای کامل استقرار n8n با Docker Compose – از نصب تا پیکربندی پیشرفته

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

Docker Compose ابزار ایده‌آلی برای مدیریت و استقرار n8n محسوب می‌شود زیرا امکان راه‌اندازی سریع و مدیریت آسان سرویس‌های مرتبط را فراهم می‌کند.

استفاده از n8n با Docker Compose مزایای متعددی دارد از جمله جداسازی محیط اجرا، جلوگیری از مشکلات وابستگی‌های نرم‌افزاری و ساده‌سازی مدیریت پایگاه داده.

این روش به ویژه برای کاربران لینوکس که با مفاهیم کانتینر آشنا هستند، بسیار مناسب است.

با استفاده از فایل docker-compose.yml می‌توانید به راحتی سرویس‌های جانبی مانند PostgreSQL، NGINX یا Traefik را نیز به n8n اضافه کنید.

برای کاربران مبتدی که با مفاهیم Docker آشنایی ندارند، ممکن است چالش‌هایی مانند مدیریت فایل‌های پیکربندی، راه‌اندازی HTTPS و پایداری سرویس وجود داشته باشد.

اما با راهنمایی مناسب و استفاده از نمونه‌های آماده، می‌توان به سرعت یک محیط پایدار از n8n ایجاد کرد.

راهنمای کامل استقرار n8n با Docker Compose

n8n چیست و چرا باید از Docker Compose استفاده کنیم؟

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

این ابزار قدرتمند برای ایجاد فرآیندهای خودکار بین سرویس‌هایی مانند Gmail، Slack، Google Sheets و بسیاری دیگر طراحی شده است.

استفاده از Docker Compose برای استقرار n8n به دلایل متعددی توصیه می‌شود.

این روش محیطی ایزوله و تمیز فراهم می‌کند، از مشکلات وابستگی‌های نرم‌افزاری جلوگیری می‌کند و مدیریت پایگاه داده و تنظیمات را ساده‌تر می‌کند.

در مقابل، نصب با NPM نیازمند مدیریت نسخه‌های Node.js، مدیران فرآیند و درایورهای پایگاه داده است.

  • راه‌اندازی سریع با یک دستور ساده
  • مدیریت آسان سرویس‌های وابسته مانند PostgreSQL
  • پایداری داده‌ها با استفاده از Volumeها
  • راه‌اندازی مجدد خودکار پس از ریستارت سرور
  • یکپارچه‌سازی آسان با پروکسی معکوس مانند NGINX یا Traefik

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

n8n چگونه به اتوماسیون گردش کار کمک می‌کند؟

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

این پلتفرم به شما کمک می‌کند فرآیندهای تکراری را خودکارسازی کرده و گردش‌های کاری پیچیده را مدیریت کنید.

n8n با ارائه بیش از ۳۰۰ نود داخلی، امکان اتصال به سرویس‌های محبوبی مانند Gmail، Slack، Google Sheets و بسیاری دیگر را فراهم می‌کند.

این ابزار برای توسعه‌دهندگان و کاربران غیرفنی مناسب است و نیاز به کدنویسی پیچیده را کاهش می‌دهد.

مزایای استفاده از Docker در مقابل NPM چیست؟

استفاده از Docker Compose برای راه‌اندازی n8n مزایای قابل توجهی نسبت به نصب مستقیم با NPM دارد.

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

با n8n Docker شما تنها با یک دستور ساده می‌توانید یک نمونه فعال داشته باشید، در حالی که با نصب NPM باید نسخه‌های Node.js، مدیران فرآیند مانند PM2، مجوزهای فایل، درایورهای پایگاه داده و موارد دیگر را خودتان مدیریت کنید.

این رویکرد محیطی تمیز و ایزوله فراهم می‌کند که از ناسازگاری‌های سیستم عامل و ابزارها جلوگیری می‌کند.

راهنمای کامل استقرار n8n با Docker Compose

چگونه Docker و Docker Compose را روی سرور لینوکس نصب کنیم؟

برای استقرار n8n با Docker Compose روی سرور لینوکس، ابتدا باید Docker Engine و Docker Compose را نصب کنید.

Docker یک راه‌حل کانتینری است که نصب و مدیریت n8n را بسیار ساده‌تر می‌کند و از مشکلات وابستگی‌ها جلوگیری می‌نماید.

برای نصب Docker روی لینوکس، می‌توانید از دستورات رسمی Docker استفاده کنید که برای توزیع‌های مختلف لینوکس در دسترس هستند.

یکی از مشکلات رایج کاربران، خطای “Command not found” هنگام اجرای دستور docker-compose است.

این مشکل معمولاً به دو دلیل رخ می‌دهد: یا Docker Compose نصب نشده است، یا سیستم شما از نسخه پلاگین داخلی Docker استفاده می‌کند که با دستور docker compose (با فاصله) کار می‌کند نه docker-compose (با خط تیره).

برای حل این مشکل، ابتدا مطمئن شوید Docker Compose نصب شده است و سپس از دستور صحیح استفاده کنید.

  • برای نصب Docker Compose روی لینوکس، دستورات رسمی Docker را دنبال کنید
  • اگر دستور docker-compose کار نمی‌کند، از docker compose استفاده کنید
  • می‌توانید با ایجاد alias مشکل را دائماً حل کنید: alias docker-compose='docker compose'
  • پس از نصب، با دستور docker compose version از صحت نصب اطمینان حاصل کنید

نصب Docker Engine روی Ubuntu

برای نصب Docker Engine روی Ubuntu، ابتدا باید بسته‌های مورد نیاز را به‌روزرسانی کنید.

دستور sudo apt update && sudo apt upgrade -y را اجرا کنید تا سیستم شما به‌روز شود.

سپس بسته‌های لازم برای اتصال به مخازن HTTPS را نصب کنید: sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release.

کلید GPG رسمی Docker را اضافه کنید: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg.

سپس مخزن Docker را به منابع APT اضافه کنید و با sudo apt update لیست بسته‌ها را به‌روزرسانی کنید.

در نهایت Docker Engine را با دستور sudo apt install docker-ce docker-ce-cli containerd.io نصب کنید.

تفاوت docker-compose و docker compose چیست؟

تفاوت اصلی بین docker-compose و docker compose در نحوه نصب و اجرای آنهاست.

docker-compose یک ابزار مستقل است که به صورت جداگانه نصب می‌شود، در حالی که docker compose یک پلاگین داخلی است که از نسخه‌های جدیدتر Docker به‌صورت پیش‌فرض در دسترس قرار دارد.

در نسخه‌های جدید Docker، پلاگین docker compose جایگزین ابزار مستقل docker-compose شده است.

اگر با خطای “Command not found” مواجه می‌شوید، باید از دستور docker compose با فاصله (به جای خط تیره) استفاده کنید.

برای سازگاری می‌توانید یک alias ایجاد کنید: alias docker-compose='docker compose' که هر دو فرمت کار کنند.

راهنمای کامل استقرار n8n با Docker Compose

چگونه اولین فایل docker-compose.yml برای n8n ایجاد کنیم؟

برای ایجاد اولین فایل docker-compose.yml برای n8n، ابتدا یک دایرکتوری پروژه جدید ایجاد کنید.

این دایرکتوری می‌تواند در هر مکانی از سیستم شما باشد، اما بهتر است در مسیر مشخصی مانند home کاربر قرار گیرد.

دستور mkdir ~/n8n-setup یک دایرکتوری جدید ایجاد می‌کند و سپس با cd ~/n8n-setup به آن وارد شوید.

در این دایرکتوری، فایل docker-compose.yml را با محتوای زیر ایجاد کنید.

این فایل پایه شامل سرویس n8n با پورت 5678، تنظیمات timezone و volume برای ذخیره‌سازی داده‌ها است:

پارامتر توضیح
image تصویر رسمی n8n از docker.n8n.io
ports پورت 5678 برای دسترسی به رابط کاربری
environment تنظیمات timezone و متغیرهای محیطی
volumes ذخیره‌سازی داده‌های n8n
restart تنظیم unless-stopped برای راه‌اندازی مجدد خودکار

پس از ایجاد فایل، با دستور docker compose up -d سرویس را راه‌اندازی کنید.

این فایل پایه امکان مدیریت آسان سرویس‌های n8n را فراهم می‌کند و می‌توانید بعداً سرویس‌های اضافی مانند NGINX یا Traefik را به آن اضافه کنید.

ساختار پایه docker-compose.yml

برای ایجاد اولین فایل Docker Compose برای n8n، باید با ساختار پایه این فایل آشنا شوید.

این فایل یک سرویس n8n را تعریف می‌کند که شامل تصویر، پورت‌ها، متغیرهای محیطی و حجم‌های مورد نیاز است.

ساختار اصلی شامل بخش‌های version، services و volumes می‌باشد که هر کدام نقش مهمی در پیکربندی n8n استقرار Docker Compose دارند.

در سرویس n8n، باید تصویر رسمی n8n، پورت 5678 برای دسترسی به رابط کاربری، متغیرهای محیطی مانند timezone و تنظیمات مربوط به task runners را مشخص کنید.

همچنین استفاده از volume برای ذخیره‌سازی داده‌های پایدار ضروری است تا اطلاعات شما پس از راه‌اندازی مجدد از بین نرود.

بخش توضیح
version نسخه Docker Compose (مثلاً ‘3.8’)
services تعریف سرویس n8n با تمام تنظیمات
volumes تعریف حجم‌های مورد نیاز برای ذخیره‌سازی
environment متغیرهای محیطی برای پیکربندی n8n
ports تنظیم پورت‌های قابل دسترسی

تعریف سرویس n8n در Compose

تعریف سرویس n8n در فایل Docker Compose شامل مشخص کردن تصویر رسمی n8n، پورت‌ها، متغیرهای محیطی و حجم‌های ذخیره‌سازی است.

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

در یک فایل docker-compose.yml استاندارد، سرویس n8n با مشخصات زیر تعریف می‌شود: تصویر n8nio/n8n، پورت 5678 برای دسترسی به رابط کاربری، متغیرهای زمان‌بندی و تنظیمات امنیتی، و حجم n8n_data برای ذخیره‌سازی دائمی داده‌ها.

این پیکربندی تضمین می‌کند که n8n به‌عنوان یک سرویس پایدار اجرا شده و داده‌های شما در صورت ری‌استارت سرور از بین نمی‌رود.

راهنمای کامل استقرار n8n با Docker Compose

چگونه داده‌ها را در n8n پایدار نگه داریم؟

برای حفظ پایدار داده‌ها در n8n Docker Compose، استفاده از Volumeها ضروری است.

Volumeها در داکر مانند هارد دیسک‌های خارجی برای کانتینر عمل می‌کنند و داده‌ها را حتی پس از خاموش شدن کانتینر حفظ می‌کنند.

در n8n استقرار Docker Compose، باید Volume مناسب برای مسیر /home/node/.n8n تعریف شود که شامل تنظیمات، کلیدهای رمزنگاری، لاگ‌ها و داده‌های گردش کار است.

در n8n پیکربندی Docker Compose، Volumeها به دو صورت قابل تعریف هستند: Volumeهای نام‌گذاری شده که توسط داکر مدیریت می‌شوند و Volumeهای میزبان که به مسیر مشخصی در سیستم میزبان متصل می‌شوند.

برای اطمینان از پایداری داده‌ها، باید پارامتر restart: unless-stopped نیز در فایل docker-compose.yml اضافه شود تا کانتینر پس از ری‌استارت سرور به‌طور خودکار راه‌اندازی شود.

  • استفاده از Volumeهای نام‌گذاری شده برای ذخیره‌سازی داده‌های n8n
  • تعریف مسیر /home/node/.n8n برای نگهداری تنظیمات و گردش‌کارها
  • افزودن پارامتر restart برای راه‌اندازی خودکار پس از ری‌استارت
  • بررسی Volumeهای موجود با دستور docker volume ls
  • پشتیبان‌گیری منظم از Volumeها برای جلوگیری از از دست دادن داده‌ها

مفهوم Volume در Docker چیست؟

Volume در Docker یک مکانیزم برای ذخیره‌سازی دائمی داده‌ها است که حتی پس از حذف کانتینر نیز باقی می‌ماند.

این قابلیت برای n8n بسیار حیاتی است زیرا تمام گردش‌های کاری، تنظیمات و داده‌های مهم شما در این Volume ذخیره می‌شوند.

در n8n Docker Compose، Volume به صورت پیش‌فرض در مسیر /home/node/.n8n قرار می‌گیرد و شامل تمام اطلاعات ضروری مانند کلیدهای رمزنگاری، لاگ‌ها و فایل‌های پیکربندی می‌شود.

این ویژگی تضمین می‌کند که داده‌های شما در هنگام راه‌اندازی مجدد یا به‌روزرسانی n8n از بین نمی‌روند.

تنظیم Volume برای ذخیره‌سازی دائمی

برای اطمینان از ذخیره‌سازی دائمی داده‌ها در n8n Docker Compose، باید از Volumeهای داکر استفاده کنید.

Volumeها مانند هارد دیسک‌های خارجی برای کانتینرها عمل می‌کنند و داده‌ها را حتی پس از خاموش شدن کانتینر حفظ می‌کنند.

در پیکربندی n8n استقرار Docker Compose، Volume به مسیر /home/node/.n8n در داخل کانتینر متصل می‌شود.

داده‌های مهمی که در این Volume ذخیره می‌شوند شامل گردش‌های کاری، اعتبارنامه‌ها، کلیدهای رمزنگاری و لاگ‌های نمونه هستند.

برای بررسی Volumeهای موجود می‌توانید از دستور docker volume ls استفاده کنید.

این روش تضمین می‌کند که اطلاعات حیاتی n8n مدیریت Docker Compose شما در صورت ری‌استارت سرور یا کانتینر از بین نمی‌رود.

چگونه n8n را با PostgreSQL پیکربندی کنیم؟

برای پیکربندی n8n با پایگاه داده PostgreSQL در محیط Docker Compose، باید متغیرهای محیطی مربوط به پایگاه داده را در فایل docker-compose.yml تنظیم کنید.

این پیکربندی به شما امکان می‌دهد از مزایای PostgreSQL مانند عملکرد بهتر و قابلیت‌های پیشرفته‌تر نسبت به SQLite پیش‌فرض استفاده کنید.

در فایل docker-compose.yml، بخش مربوط به سرویس n8n را با متغیرهای محیطی زیر تکمیل کنید:

متغیر محیطی توضیح
DB_TYPE=postgresdb نوع پایگاه داده را PostgreSQL تنظیم می‌کند
DB_POSTGRESDB_HOST آدرس میزبان پایگاه داده PostgreSQL
DB_POSTGRESDB_PORT پورت پایگاه داده (پیش‌فرض: 5432)
DB_POSTGRESDB_DATABASE نام پایگاه داده
DB_POSTGRESDB_USER نام کاربری برای اتصال
DB_POSTGRESDB_PASSWORD رمز عبور کاربر
DB_POSTGRESDB_SCHEMA اسکیمای مورد استفاده (اختیاری)

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

این پیکربندی به شما امکان می‌دهد از n8n Docker Compose برای مدیریت آسان سرویس‌های n8n استفاده کنید.

متغیرهای محیطی مورد نیاز برای PostgreSQL

برای پیکربندی n8n با پایگاه داده PostgreSQL در Docker Compose، باید متغیرهای محیطی خاصی را تنظیم کنید.

این متغیرها به n8n اجازه می‌دهند تا به درستی با پایگاه داده PostgreSQL ارتباط برقرار کرده و داده‌های گردش کار، اعتبارنامه‌ها و اجراها را ذخیره کند.

متغیرهای محیطی اصلی برای اتصال به PostgreSQL عبارتند از: DB_TYPE=postgresdb برای مشخص کردن نوع پایگاه داده، DB_POSTGRESDB_HOST برای آدرس سرور، DB_POSTGRESDB_PORT برای پورت، DB_POSTGRESDB_DATABASE برای نام دیتابیس، DB_POSTGRESDB_USER برای نام کاربری و DB_POSTGRESDB_PASSWORD برای رمز عبور. همچنین می‌توانید DB_POSTGRESDB_SCHEMA را برای مشخص کردن اسکیما تنظیم کنید.

راهنمای کامل استقرار n8n با Docker Compose

چگونه n8n را به‌صورت خودکار پس از راه‌اندازی مجدد سرور اجرا کنیم؟

یکی از مشکلات رایج در استقرار n8n با Docker Compose این است که سرویس پس از بستن SSH یا راه‌اندازی مجدد سرور متوقف می‌شود.

این اتفاق زمانی رخ می‌دهد که از دستور docker run بدون پارامترهای مناسب استفاده شود.

برای حل این مشکل، باید از قابلیت restart در Docker Compose استفاده کنید.

برای اجرای خودکار n8n پس از راه‌اندازی مجدد سرور، باید از پارامتر restart: unless-stopped در فایل docker-compose.yml استفاده کنید.

این پارامتر تضمین می‌کند که کانتینر n8n به‌صورت خودکار پس از هر بار راه‌اندازی مجدد سرور یا Docker شروع به کار کند.

همچنین استفاده از حالت detached با پارامتر -d در دستور docker compose up -d ضروری است تا سرویس در پس‌زمینه اجرا شود.

  • استفاده از پارامتر restart: unless-stopped در docker-compose.yml
  • اجرای سرویس با دستور docker compose up -d
  • استفاده از Docker Compose به‌جای docker run ساده
  • پیکربندی صحیح volume برای ذخیره‌سازی داده‌ها
  • بررسی وضعیت سرویس با دستور docker ps

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

این روش برای استقرار n8n با Docker Compose در محیط‌های تولیدی بسیار مناسب است.

تنظیم restart: unless-stopped

یکی از مشکلات رایج در n8n Docker Compose این است که سرویس پس از بستن SSH یا راه‌اندازی مجدد سرور متوقف می‌شود.

برای حل این مشکل، باید از تنظیم restart: unless-stopped در فایل docker-compose.yml استفاده کنید.

این تنظیم تضمین می‌کند که کانتینر n8n به‌صورت خودکار پس از هر بار راه‌اندازی مجدد سرور، دوباره اجرا شود.

در n8n استقرار Docker Compose، این تنظیم به‌صورت زیر در بخش سرویس‌ها اضافه می‌شود:

  • سرویس n8n به‌صورت خودکار پس از راه‌اندازی مجدد سرور اجرا می‌شود
  • تنها در صورتی متوقف می‌ماند که به‌صورت دستی آن را متوقف کرده باشید
  • برای محیط‌های تولیدی ضروری است
  • از دسترسی دائمی به سرویس اطمینان حاصل می‌کند

تفاوت docker run و docker compose برای اجرای دائمی

تفاوت اصلی بین docker run و docker compose در مدیریت سرویس‌های دائمی n8n است.

دستور docker run یک کانتینر موقت ایجاد می‌کند که با بستن SSH متوقف می‌شود، در حالی که docker compose امکان اجرای خودکار و مدیریت ساده‌تر سرویس‌ها را فراهم می‌کند.

برای اجرای دائمی n8n، استفاده از Docker Compose توصیه می‌شود زیرا امکان تعریف سرویس‌ها در فایل YAML و اجرای خودکار پس از راه‌اندازی مجدد سرور را فراهم می‌کند.

با تنظیم restart: unless-stopped در فایل docker-compose.yml، کانتینر n8n به‌صورت خودکار پس از ری‌استارت سرور اجرا می‌شود.

راهنمای کامل استقرار n8n با Docker Compose

چگونه HTTPS را برای n8n با NGINX پیاده‌سازی کنیم؟

برای پیاده‌سازی HTTPS در n8n با NGINX، باید از یک reverse proxy استفاده کنید.

این روش توصیه‌شده برای ایمن‌سازی ارتباطات است.

n8n به‌صورت پیش‌فرض فقط از HTTP پشتیبانی می‌کند و برای فعال‌سازی HTTPS نیاز به یک سرور واسط دارید.

دو روش اصلی برای پیاده‌سازی HTTPS وجود دارد: استفاده مستقیم از گواهی SSL در n8n یا استفاده از NGINX به‌عنوان reverse proxy.

روش دوم به‌دلیل مدیریت آسان‌تر گواهی‌ها و قابلیت‌های اضافی توصیه می‌شود.

  • استفاده از NGINX در Docker Compose برای مدیریت خودکار گواهی‌های SSL
  • تنظیم متغیرهای محیطی WEBHOOK_URL و N8N_PROXY_HOPS برای اطمینان از صحت URLهای وب‌هوک
  • پیکربندی NGINX برای انتقال ترافیک از پورت 443 به پورت داخلی 5678 n8n
  • استفاده از ابزارهایی مانند Traefik برای مدیریت خودکار گواهی‌های Let’s Encrypt
  • تنظیم برچسب‌های مناسب در Docker Compose برای فعال‌سازی routing

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

NGINX به‌عنوان Reverse Proxy

استفاده از NGINX به‌عنوان Reverse Proxy روش توصیه‌شده برای پیاده‌سازی HTTPS در n8n است. این رویکرد امنیت و مدیریت بهتر ترافیک را فراهم می‌کند.

کانتینر n8n به‌صورت پیش‌فرض فقط HTTP ارائه می‌دهد و برای HTTPS نیاز به یک پروکسی معکوس دارید.

در این معماری، NGINX در پورت‌های 80 و 443 به درخواست‌ها گوش می‌دهد و ترافیک را به کانتینر n8n روی پورت داخلی 5678 هدایت می‌کند.

این روش مزایای متعددی دارد از جمله مدیریت آسان گواهی‌های SSL، لود بالانسینگ و افزایش امنیت.

  • NGINX ترافیک HTTPS را مدیریت و رمزگشایی می‌کند
  • کانتینر n8n فقط در شبکه داخلی در دسترس است
  • امکان استفاده از Let’s Encrypt برای گواهی‌های رایگان
  • مدیریت بهتر منابع و کش‌کردن
  • افزایش امنیت با جداسازی لایه‌ها

پیکربندی SSL/TLS با Let’s Encrypt

برای پیاده‌سازی HTTPS در n8n Docker Compose، باید از یک پروکسی معکوس مانند NGINX استفاده کنید.

کانتینر n8n به‌صورت پیش‌فرض شامل سرور وب نیست و فقط روی پورت 5678 با HTTP اجرا می‌شود.

با استفاده از NGINX می‌توانید گواهی SSL از Let’s Encrypt دریافت کرده و ترافیک را به صورت امن به n8n هدایت کنید.

در پیکربندی n8n داکر کامپوز، NGINX به عنوان یک سرویس جداگانه اضافه می‌شود که روی پورت‌های 80 و 443 گوش می‌دهد و ترافیک HTTPS را به کانتینر n8n روی پورت داخلی 5678 منتقل می‌کند.

این روش امن‌تر از فعال‌سازی مستقیم HTTPS در n8n است و امکان مدیریت بهتر گواهی‌ها را فراهم می‌کند.

راهنمای کامل استقرار n8n با Docker Compose

چگونه از Traefik برای مدیریت سرویس‌های n8n استفاده کنیم؟

استفاده از Traefik برای مدیریت سرویس‌های n8n یک راه‌حل ایده‌آل برای استقرار خودکار و ایمن است.

Traefik به عنوان یک reverse proxy مدرن عمل می‌کند و مدیریت گواهی‌های SSL و مسیریابی ترافیک را به صورت خودکار انجام می‌دهد.

در پیکربندی Docker Compose، شما می‌توانید n8n را تنها به صورت محلی در پورت 5678 در معرض دید قرار دهید و Traefik را برای مدیریت دسترسی خارجی و HTTPS تنظیم کنید.

این رویکرد امنیت را افزایش می‌دهد و امکان استفاده از دامنه‌های سفارشی را فراهم می‌کند.

مولفه نقش پیکربندی
Traefik Reverse Proxy مدیریت خودکار SSL و مسیریابی
n8n سرویس اصلی در معرض دید محلی در پورت 5678
برچسب‌ها کنترل مسیریابی تعریف دامنه و تنظیمات امنیتی

مزایای استفاده از Traefik شامل مدیریت خودکار گواهی‌های Let’s Encrypt، پیکربندی ساده با برچسب‌های Docker و قابلیت مانیتورینگ پیشرفته است.

این راه‌حل برای استقرار n8n در محیط‌های تولیدی بسیار مناسب است.

پیکربندی Traefik با Docker Compose

برای پیکربندی Traefik با Docker Compose در استقرار n8n، باید برچسب‌های مناسب را به سرویس n8n اضافه کنید.

این برچسب‌ها به Traefik اجازه می‌دهند تا به‌طور خودکار سرویس را شناسایی کرده و ترافیک را مدیریت کند.

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

در فایل docker-compose.yml، برچسب‌های Traefik شامل موارد زیر می‌شوند: فعال‌سازی Traefik، تعیین قانون میزبان برای دامنه شما، تنظیم نقاط ورود امن و تعیین پورت سرویس n8n.

این پیکربندی تضمین می‌کند که n8n به‌طور ایمن از طریق HTTPS در دسترس باشد و گواهی‌های SSL به‌طور خودکار مدیریت شوند.

تنظیم Labelهای Traefik برای n8n

برای مدیریت سرویس‌های n8n با Traefik، باید Labelهای مناسب را در فایل docker-compose.yml تنظیم کنید.

این Labelها به Traefik می‌گویند که چگونه ترافیک را به سرویس n8n هدایت کند و گواهی SSL را مدیریت نماید.

Labelهای اصلی شامل فعال‌سازی Traefik، تعریف قوانین مسیریابی، تنظیم نقطه ورود و پورت سرویس می‌شوند.

همچنین باید resolver گواهی SSL را مشخص کنید تا Traefik بتواند گواهی‌های Let’s Encrypt را به‌طور خودکار مدیریت کند.

  • traefik.enable=true – فعال‌سازی Traefik برای این سرویس
  • traefik.http.routers.n8n.rule=Host(`n8n.yourdomain.com`) – تعریف دامنه
  • traefik.http.routers.n8n.entrypoints=websecure – استفاده از نقطه ورود امن
  • traefik.http.routers.n8n.tls.certresolver=myresolver – تنظیم resolver گواهی
  • traefik.http.services.n8n.loadbalancer.server.port=5678 – پورت داخلی n8n

راهنمای کامل استقرار n8n با Docker Compose

چگونه امنیت n8n را با Docker Compose افزایش دهیم؟

افزایش امنیت n8n Docker Compose برای استقرار در اینترنت از اهمیت بالایی برخوردار است.

استفاده از n8n داکر کامپوز به شما امکان می‌دهد کنترل کاملی بر روی پیکربندی امنیتی داشته باشید.

یکی از مهم‌ترین نکات امنیتی، استفاده از پروکسی معکوس مانند n8n NGINX یا n8n Traefik برای مدیریت دسترسی‌های خارجی است.

برای ایمن‌سازی n8n با Docker Compose، می‌توانید از راهکارهای زیر استفاده کنید:

  • استفاده از پروکسی معکوس برای مدیریت ترافیک ورودی و خروجی
  • تنظیم متغیرهای محیطی امنیتی مانند N8N_PROXY_HOPS=1
  • تنظیم WEBHOOK_URL برای اطمینان از صحت آدرس‌های وب‌هوک
  • استفاده از شبکه‌های داخلی Docker برای محدود کردن دسترسی
  • تنظیم گواهی SSL برای رمزگذاری ارتباطات
  • محدود کردن پورت‌های در معرض اینترنت

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

این روش امنیت را به طور قابل توجهی افزایش می‌دهد و از قرارگیری مستقیم n8n در معرض اینترنت جلوگیری می‌کند.

محدود کردن دسترسی به پورت‌ها

یکی از مهم‌ترین اقدامات امنیتی در استقرار n8n Docker Compose، محدود کردن دسترسی به پورت‌ها است.

به‌جای اکسپوز کردن مستقیم پورت 5678 به اینترنت، می‌توانید آن را فقط به صورت محلی در دسترس قرار دهید.

این کار با تنظیم "127.0.0.1:5678:5678" در بخش ports فایل docker-compose.yml انجام می‌شود.

در این حالت، پورت 5678 فقط از طریق localhost قابل دسترسی خواهد بود و n8n مدیریت Docker Compose شما از طریق یک reverse proxy مانند NGINX یا Traefik به اینترنت متصل می‌شود.

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

تنظیم متغیرهای امنیتی محیطی

تنظیم صحیح متغیرهای امنیتی محیطی در n8n Docker Compose برای محافظت از نمونه‌های n8n در برابر تهدیدات امنیتی حیاتی است.

این متغیرها شامل تنظیمات کلیدی مانند کلیدهای رمزگذاری، محدودیت‌های دسترسی و پارامترهای احراز هویت می‌شوند که باید در فایل docker-compose.yml تعریف شوند.

برای افزایش امنیت، باید از متغیرهای محیطی مانند N8N_ENCRYPTION_KEY برای رمزگذاری داده‌های حساس و N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true برای اعمال مجوزهای امنیتی فایل‌ها استفاده کنید.

همچنین تنظیم N8N_PROXY_HOPS=1 هنگام استفاده از n8n با Docker Compose پشت پروکسی معکوس ضروری است تا URLهای وب‌هوک به درستی تولید شوند.

راهنمای کامل استقرار n8n با Docker Compose

چگونه n8n را با Docker Compose به‌روزرسانی کنیم؟

به‌روزرسانی n8n Docker Compose یک فرآیند ساده و مستقیم است که با چند دستور پایه قابل انجام می‌باشد.

برای شروع، ابتدا به دایرکتوری حاوی فایل docker-compose.yml خود بروید و سپس آخرین نسخه n8n را دریافت کنید.

این کار تضمین می‌کند که شما از آخرین ویژگی‌ها و رفع اشکالات بهره‌مند شوید.

مراحل به‌روزرسانی شامل اجرای دستورات زیر است: ابتدا با docker compose pull آخرین تصویر را دریافت کنید، سپس با docker compose down نسخه قدیمی را متوقف و حذف کنید، و در نهایت با docker compose up -d کانتینر جدید را راه‌اندازی نمایید.

این فرآیند تضمین می‌کند که داده‌های شما در volumeها حفظ شده و سرویس بدون وقفه ادامه می‌یابد.

  • انتقال به دایرکتوری فایل docker-compose.yml
  • دریافت آخرین نسخه با دستور pull
  • توقف و حذف نسخه قدیمی با دستور down
  • راه‌اندازی مجدد با دستور up -d
  • بررسی وضعیت سرویس با docker ps

فرآیند docker compose pull و up -d

برای به‌روزرسانی n8n Docker Compose، ابتدا باید به دایرکتوری حاوی فایل docker-compose.yml بروید.

سپس با اجرای دستور docker compose pull آخرین نسخه تصویر n8n را دانلود کنید.

پس از اتمام دانلود، با اجرای docker compose up -d سرویس را با نسخه جدید راه‌اندازی مجدد می‌کنید.

این فرآیند تضمین می‌کند که داده‌های شما در n8n استقرار Docker Compose حفظ شده و سرویس بدون وقفه به‌روزرسانی می‌شود.

برای مدیریت بهتر n8n سرویس‌های Docker، می‌توانید از فایل‌های docker-compose.yml استفاده کنید که تنظیمات پیکربندی را ساده‌تر می‌کند.

راهنمای کامل استقرار n8n با Docker Compose

چگونه مشکل No configuration file provided را حل کنیم؟

خطای “No configuration file provided” یکی از رایج‌ترین مشکلات در هنگام استفاده از n8n Docker Compose است.

این خطا زمانی رخ می‌دهد که دستور docker compose up -d اجرا می‌شود اما فایل docker-compose.yml در دایرکتوری جاری وجود ندارد.

این مشکل معمولاً به دلیل عدم آشنایی با تفاوت‌های بین docker-compose (با خط تیره) و docker compose (با فاصله) ایجاد می‌شود.

برای حل این مشکل، ابتدا باید مطمئن شوید که فایل docker-compose.yml در دایرکتوری مناسب ایجاد شده است.

یک فایل docker-compose.yml پایه برای n8n باید شامل موارد زیر باشد:

  • تعریف سرویس n8n با image مناسب
  • تنظیم پورت‌ها (5678:5678)
  • تعریف متغیرهای محیطی مانند timezone
  • تنظیم volume برای ذخیره‌سازی داده‌ها
  • تنظیم restart policy برای اجرای دائمی

پس از ایجاد فایل، از دستور docker compose up -d (با فاصله) استفاده کنید.

همچنین می‌توانید با ایجاد alias، دستور docker-compose را به docker compose تبدیل کنید تا از بروز این خطا جلوگیری شود.

بررسی مکان فایل docker-compose.yml

خطای “No configuration file provided” زمانی رخ می‌دهد که Docker Compose نتواند فایل پیکربندی docker-compose.yml را پیدا کند.

این مشکل معمولاً به دلیل اجرای دستور در دایرکتوری اشتباه یا عدم وجود فایل پیکربندی ایجاد می‌شود.

برای حل این مشکل، باید مطمئن شوید که فایل docker-compose.yml در دایرکتوری جاری وجود دارد.

همچنین توجه داشته باشید که در نسخه‌های جدید Docker، دستور docker compose (با فاصله) جایگزین docker-compose (با خط تیره) شده است.

اگر فایل وجود ندارد، باید ابتدا آن را در دایرکتوری پروژه ایجاد کنید.

  • دایرکتوری پروژه را با mkdir ~/n8n-setup ایجاد کنید
  • به دایرکتوری پروژه بروید: cd ~/n8n-setup
  • فایل docker-compose.yml را با محتوای مناسب ایجاد کنید
  • دستور docker compose up -d را اجرا کنید
  • از دستور docker ps برای بررسی وضعیت کانتینر استفاده کنید

ایجاد دایرکتوری پروژه اختصاصی

یکی از رایج‌ترین دلایل خطای No configuration file provided در n8n Docker Compose عدم وجود دایرکتوری پروژه اختصاصی است.

برای حل این مشکل، باید یک پوشه مخصوص برای فایل‌های پیکربندی n8n ایجاد کنید.

این دایرکتوری باید شامل فایل docker-compose.yml و سایر فایل‌های پیکربندی باشد.

برای ایجاد دایرکتوری پروژه، از دستورات زیر استفاده کنید:

  • دستور mkdir ~/n8n-setup برای ایجاد پوشه پروژه
  • دستور cd ~/n8n-setup برای ورود به پوشه
  • ایجاد فایل docker-compose.yml با محتوای مناسب
  • اجرای docker compose up -d برای راه‌اندازی سرویس
  • بررسی وضعیت با docker ps برای اطمینان از اجرای صحیح

این روش تضمین می‌کند که تمام فایل‌های پیکربندی در یک متمرکز قرار دارند و از خطاهای مربوط به مسیر جلوگیری می‌شود.

راهنمای کامل استقرار n8n با Docker Compose

چگونه از n8n با tunnel برای توسعه محلی استفاده کنیم؟

استفاده از n8n با tunnel یک راه‌حل عالی برای توسعه محلی است که به شما امکان می‌دهد وب‌هوک‌های سرویس‌های خارجی مانند GitHub را روی نمونه محلی n8n خود دریافت کنید.

این قابلیت برای تست گردش‌کارها در محیط توسعه بسیار مفید است.

برای راه‌اندازی n8n با tunnel در Docker، باید از دستور start –tunnel استفاده کنید.

این دستور یک سرویس tunnel اجرا می‌کند که درخواست‌ها را از سرورهای n8n به نمونه محلی شما هدایت می‌کند.

این روش برای توسعه و تست ایده‌آل است اما هرگز نباید در محیط production استفاده شود.

مزایای استفاده از n8n با tunnel برای توسعه محلی:

  • امکان تست وب‌هوک‌ها بدون نیاز به استقرار عمومی
  • دسترسی آسان به سرویس‌های خارجی در محیط توسعه
  • اشکال‌زدایی آسان‌تر گردش‌کارها
  • عدم نیاز به پیکربندی پیچیده شبکه

برای راه‌اندازی، کافیست دستور docker run را با پارامتر start –tunnel اجرا کنید.

این روش به شما امکان می‌دهد گردش‌کارهای مبتنی بر وب‌هوک را به‌طور کامل در محیط توسعه محلی تست کنید.

خطرات استفاده از tunnel در محیط production

استفاده از قابلیت tunnel در محیط production خطرات امنیتی جدی به همراه دارد.

این ویژگی برای توسعه محلی طراحی شده و نباید در محیط‌های عملیاتی استفاده شود.

n8n به صراحت هشدار می‌دهد که این قابلیت فقط برای تست و توسعه مناسب است و استفاده از آن در production ایمن نیست.

مهم‌ترین خطرات امنیتی استفاده از tunnel شامل دسترسی غیرمجاز به سرویس‌های داخلی، نشت اطلاعات حساس و آسیب‌پذیری در برابر حملات سایبری است.

برای استقرار ایمن در محیط production، باید از روش‌های استاندارد مانند Docker Compose با پیکربندی مناسب و استفاده از reverse proxy مانند NGINX یا Traefik استفاده کنید.

راهنمای کامل استقرار n8n با Docker Compose

چگونه اسکریپت‌های اتوماسیون برای مدیریت n8n ایجاد کنیم؟

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

این اسکریپت‌ها به شما امکان می‌دهند با اجرای چند دستور ساده، کل محیط n8n را مدیریت کنید.

برای ایجاد اسکریپت‌های اتوماسیون، ابتدا باید یک فایل docker-compose.yml پایه ایجاد کنید که شامل تنظیمات اصلی سرویس n8n باشد.

این فایل باید شامل پیکربندی‌های ضروری مانند پورت‌ها، متغیرهای محیطی و تنظیمات مربوط به n8n استقرار Docker Compose باشد.

  • ایجاد اسکریپت نصب خودکار که تمام مراحل راه‌اندازی را انجام دهد
  • پیاده‌سازی اسکریپت به‌روزرسانی برای آپدیت خودکار n8n
  • ایجاد اسکریپت پشتیبان‌گیری از داده‌ها و تنظیمات
  • پیاده‌سازی اسکریپت بازیابی برای مواقع اضطراری
  • افزودن قابلیت‌های مانیتورینگ و لاگ‌گیری
  • اتوماسیون فرآیندهای مربوط به n8n مدیریت Docker Compose

اسکریپت‌های اتوماسیون می‌توانند شامل دستوراتی برای مدیریت حجم‌ها، بررسی وضعیت کانتینرها و مدیریت تنظیمات امنیتی باشند.

این رویکرد به ویژه برای محیط‌های تولیدی که نیاز به مدیریت مداوم دارند، بسیار مفید است و فرآیند n8n راه‌اندازی را تسهیل می‌کند.

نصب، ارتقاء و پشتیبان‌گیری خودکار

برای مدیریت آسان n8n Docker Compose می‌توانید از اسکریپت‌های اتوماسیون استفاده کنید که فرآیند نصب، ارتقاء و پشتیبان‌گیری را به صورت خودکار انجام می‌دهند.

این اسکریپت‌ها با استفاده از n8n داکر کامپوز امکان راه‌اندازی سریع و بدون دردسر را فراهم می‌کنند.

اسکریپت‌های اتوماسیون می‌توانند شامل دستورات docker compose up -d برای راه‌اندازی سرویس، مدیریت به‌روزرسانی‌ها و ایجاد پشتیبان‌های دوره‌ای از داده‌ها باشند.

این رویکرد به ویژه برای کاربرانی که با مفاهیم لینوکس و داکر آشنایی کمتری دارند بسیار مفید است.

راهنمای کامل استقرار n8n با Docker Compose

چگونه پیکربندی n8n را برای محیط‌های مختلف مدیریت کنیم؟

مدیریت پیکربندی n8n در محیط‌های مختلف با استفاده از Docker Compose و متغیرهای محیطی به شما امکان می‌دهد تنظیمات را به‌صورت مرکزی کنترل کنید.

این رویکرد برای استقرار در محیط‌های توسعه، آزمایش و تولید بسیار کارآمد است.

برای مدیریت پیکربندی n8n در محیط‌های مختلف، می‌توانید از فایل‌های docker-compose.yml و .env استفاده کنید.

این روش به شما امکان می‌دهد تنظیمات پایگاه داده، پورت‌ها و سایر پارامترها را بر اساس محیط تغییر دهید.

برای مثال، می‌توانید تنظیمات PostgreSQL را با متغیرهای محیطی مانند DB_POSTGRESDB_HOST، DB_POSTGRESDB_USER و DB_POSTGRESDB_PASSWORD کنترل کنید.

استفاده از Docker Compose برای مدیریت سرویس‌های n8n مزایای متعددی دارد:

  • مدیریت متمرکز تمام سرویس‌ها در یک فایل پیکربندی
  • قابلیت تعریف متغیرهای محیطی برای تنظیمات مختلف
  • امکان تعریف وابستگی‌های بین سرویس‌ها
  • قابلیت restart خودکار با گزینه unless-stopped
  • مدیریت آسان شبکه‌های Docker برای ارتباط بین کانتینرها

برای محیط‌های تولید، توصیه می‌شود از reverse proxy مانند NGINX یا Traefik برای مدیریت HTTPS استفاده کنید.

این ابزارها می‌توانند به‌عنوان کانتینرهای جداگانه در کنار n8n اجرا شوند و امنیت ارتباطات را تضمین کنند.

استفاده از فایل .env برای مدیریت متغیرهای محیطی

استفاده از فایل .env در n8n Docker Compose یک روش استاندارد و امن برای مدیریت متغیرهای محیطی در محیط‌های مختلف است.

این فایل به شما امکان می‌دهد تنظیمات حساس مانند اطلاعات پایگاه داده، رمزهای عبور و سایر پارامترهای پیکربندی را به صورت جداگانه از فایل docker-compose.yml نگهداری کنید.

در نمونه‌های عملی، کاربران از فایل .env برای ذخیره اطلاعات اتصال به PostgreSQL استفاده می‌کنند.

این شامل نام کاربری، رمز عبور، نام پایگاه داده و سایر تنظیمات مهم است که می‌تواند بین محیط‌های توسعه، آزمایش و تولید متفاوت باشد.

  • ایجاد فایل .env در دایرکتوری پروژه
  • تعریف متغیرهای محیطی مانند POSTGRES_USER و POSTGRES_PASSWORD
  • ارجاع به متغیرها در فایل docker-compose.yml با استفاده از سینتکس ${VARIABLE_NAME}
  • افزایش امنیت با جدا کردن اطلاعات حساس از کد اصلی
  • مدیریت آسان تنظیمات برای محیط‌های مختلف

راهنمای کامل استقرار n8n با Docker Compose

چگونه مانیتورینگ و لاگ‌گیری برای n8n تنظیم کنیم؟

برای مانیتورینگ و لاگ‌گیری در n8n Docker Compose، می‌توانید از ابزارهای مختلفی استفاده کنید. n8n به‌طور پیش‌فرض لاگ‌های خود را در مسیر /home/node/.n8n/logs ذخیره می‌کند که با استفاده از n8n پیکربندی Docker Compose قابل دسترسی است.

برای مانیتورینگ پیشرفته‌تر، می‌توانید از ابزارهایی مانند Prometheus استفاده کنید که با تنظیم متغیر محیطی N8N_METRICS=true فعال می‌شود.

در n8n استقرار Docker Compose، لاگ‌ها به‌صورت خودکار در کنسول نمایش داده می‌شوند و همچنین در فایل‌های لاگ ذخیره می‌گردند.

برای مشاهده لاگ‌های زنده می‌توانید از دستور docker logs -f n8n استفاده کنید.

همچنین با تنظیم متغیرهای محیطی مربوط به لاگ‌گیری، می‌توانید سطح لاگ‌گیری را کنترل کرده و لاگ‌های دقیق‌تری دریافت نمایید.

  • فعال کردن مانیتورینگ Prometheus با تنظیم N8N_METRICS=true
  • استفاده از دستور docker logs برای مشاهده لاگ‌های زنده
  • ذخیره‌سازی لاگ‌ها در مسیر /home/node/.n8n/logs
  • تنظیم سطح لاگ‌گیری با متغیرهای محیطی
  • یکپارچه‌سازی با ابزارهای مانیتورینگ خارجی
  • پایش وضعیت سرویس‌های وابسته مانند PostgreSQL

پیکربندی Prometheus metrics

برای مانیتورینگ و نظارت بر عملکرد n8n Docker Compose، می‌توانید از Prometheus metrics استفاده کنید.

این قابلیت به شما امکان می‌دهد معیارهای مختلف عملکردی مانند تعداد اجراها، خطاها و منابع مصرفی را رصد کنید.

فعال‌سازی این ویژگی در n8n پیکربندی Docker Compose بسیار ساده است و تنها نیاز به تنظیم متغیرهای محیطی مناسب دارد.

برای فعال‌سازی Prometheus metrics در n8n استقرار Docker Compose، کافی است متغیر محیطی N8N_METRICS را در فایل docker-compose.yml تنظیم کنید.

این تنظیم به شما امکان می‌دهد معیارهای عملکردی را از طریق endpoint مخصوص Prometheus دریافت کرده و در سیستم‌های مانیتورینگ خود استفاده کنید.

مدیریت لاگ‌های اجرایی

مدیریت لاگ‌های اجرایی در n8n Docker Compose برای نظارت و عیب‌یابی گردش‌کارها ضروری است.

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

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

برای مشاهده لاگ‌های اجرایی در n8n استقرار Docker Compose می‌توانید از دستور docker logs n8n استفاده کنید.

همچنین لاگ‌های مربوط به اجرای گردش‌کارها در رابط کاربری n8n در بخش Executions قابل مشاهده است.

برای لاگ‌گیری پیشرفته‌تر، می‌توانید از ابزارهایی مانند Prometheus برای جمع‌آوری متریک‌ها و ELK Stack برای تحلیل لاگ‌ها استفاده کنید.

راهنمای کامل استقرار n8n با Docker Compose راهنمای کامل استقرار n8n با Docker Compose

چگونه n8n را برای محیط‌های سازمانی مقیاس‌پذیر کنیم؟

برای مقیاس‌پذیری n8n در محیط‌های سازمانی، استفاده از Docker Compose و راهکارهای مدیریت کانتینر ضروری است.

این رویکرد امکان مدیریت آسان سرویس‌ها، افزودن منابع و پیکربندی پیشرفته را فراهم می‌کند.

با استفاده از فایل‌های docker-compose.yml می‌توانید سرویس‌های مختلف مانند n8n، پایگاه داده و پروکسی معکوس را به صورت یکپارچه مدیریت کنید.

برای مقیاس‌پذیری عمودی، می‌توانید منابع اختصاص داده شده به کانتینر n8n را افزایش دهید.

همچنین با استفاده از PostgreSQL به جای SQLite می‌توانید عملکرد پایگاه داده را در محیط‌های سازمانی بهبود بخشید.

پیکربندی پروکسی معکوس با NGINX یا Traefik نیز برای مدیریت ترافیک و امنیت ضروری است.

  • استفاده از Docker Compose برای مدیریت یکپارچه سرویس‌ها
  • پیکربندی PostgreSQL برای عملکرد بهتر در محیط‌های سازمانی
  • افزودن پروکسی معکوس برای مدیریت ترافیک و امنیت
  • تنظیم restart: unless-stopped برای راه‌اندازی خودکار
  • استفاده از volumes برای ذخیره‌سازی دائمی داده‌ها
  • پیکربندی شبکه‌های جداگانه برای سرویس‌های مختلف

پیکربندی Queue Mode

پیکربندی Queue Mode در n8n برای محیط‌های سازمانی ضروری است تا بتوانید سرویس‌های اتوماسیون را به‌صورت مقیاس‌پذیر مدیریت کنید.

این حالت اجرا به شما امکان می‌دهد گردش‌کارها را به‌صورت موازی و کارآمد پردازش کنید و عملکرد سیستم را در شرایط بار کاری بالا بهبود بخشید.

برای فعال‌سازی Queue Mode در n8n Docker Compose، باید متغیرهای محیطی مربوطه را در فایل docker-compose.yml تنظیم کنید.

این تنظیمات شامل تعریف تعداد کارگران (workers)، مدیریت حافظه و پیکربندی صف‌های اجرا می‌شود که همگی در بهبود عملکرد n8n استقرار Docker Compose نقش دارند.

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

مدیریت Concurrency و منابع

مدیریت همزمانی و منابع در n8n Docker Compose برای محیط‌های سازمانی حیاتی است.

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

استفاده از n8n PostgreSQL به جای SQLite برای پایگاه داده توصیه می‌شود، زیرا عملکرد بهتری در محیط‌های پرترافیک ارائه می‌دهد.

برای مدیریت بهتر منابع، می‌توانید از تنظیمات زیر استفاده کنید:

  • تنظیم N8N_RUNNERS_ENABLED=true برای فعال‌سازی اجراکننده‌های وظایف
  • استفاده از restart: unless-stopped در n8n فایل Docker Compose برای راه‌اندازی مجدد خودکار
  • تنظیم محدودیت‌های حافظه برای کانتینرها در n8n پیکربندی Docker Compose
  • استفاده از n8n Traefik برای مدیریت ترافیک و توزیع بار
  • تنظیم متغیرهای محیطی برای کنترل تعداد اجراهای همزمان

استقرار n8n با Docker Compose راه‌حلی ایده‌آل برای مدیریت آسان سرویس‌های اتوماسیون گردش کار است.

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

با استفاده از n8n Docker Compose می‌توانید به راحتی سرویس‌های مختلف مانند پایگاه داده PostgreSQL و پروکسی معکوس NGINX یا Traefik را در کنار n8n مدیریت کنید.

یکی از مهم‌ترین مزایای استفاده از n8n استقرار Docker Compose، امکان پیکربندی خودکار راه‌اندازی سرویس‌ها پس از ری‌استارت سیستم است.

با تنظیم restart: unless-stopped در فایل docker-compose.yml، اطمینان حاصل می‌شود که سرویس n8n به طور خودکار پس از هر بار راه‌اندازی مجدد سرور فعال می‌شود.

همچنین استفاده از n8n مدیریت Docker Compose امکان افزودن سرویس‌های جانبی مانند NGINX برای مدیریت HTTPS و امنیت را فراهم می‌کند.

  • مدیریت آسان سرویس‌های متعدد در یک فایل پیکربندی واحد
  • امکان پشتیبانی خودکار و بازیابی سرویس‌ها
  • افزایش امنیت با جداسازی محیط اجرا
  • ساده‌سازی فرآیند به‌روزرسانی و نگهداری
  • قابلیت توسعه‌پذیری و افزودن سرویس‌های جدید

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا