n8n یک ابزار اتوماسیون گردش کار متنباز است که به شما امکان میدهد سرویسهای مختلف را به هم متصل کرده و وظایف تکراری را از طریق یک رابط کاربری مبتنی بر گره بصری، خودکار کنید. این پلتفرم از ادغامهای زیادی پشتیبانی میکند و قابلیتهای بدون کد و کم کد را برای ساخت گردشهای کاری پیچیده فراهم میکند.
این مقاله نصب و پیکربندی n8n در اوبونتو ۲۴.۰۴ با Docker، تنظیم Nginx به عنوان یک پروکسی معکوس و ایمنسازی نصب با گواهینامههای TLS را توضیح میدهد.
پیش نیازها #
قبل از شروع :
- یک سرور مجازی با سیستم عامل اوبونتو خرید سرور مجازی ubuntu
- یک رکورد دامنه ایجاد کنید که به آدرس IP سرور مجازی اوبونتویی که دارید اشاره کند ، مانند،
n8n.example.com.
نصب داکر و داکر کامپوز #
- بستههای سیستم را بهروزرسانی کنید.کنسول
$ sudo apt update - بستههای پیشنیاز برای مدیریت مخزن داکر را نصب کنید.کنسول
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common -y - کلید GPG رسمی داکر را اضافه کنید.کنسول
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- مخزن داکر را به سیستم خود اضافه کنید.کنسول
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- شاخص بسته را بهروزرسانی کنید.کنسول
$ sudo apt update - موتور داکر، رابط خط فرمان (CLI) و افزونهی داکر کامپوز (Docker Compose) را نصب کنید.کنسول
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y - برای اجرای دستورات داکر بدون sudo، کاربر خود را به گروه docker اضافه کنید.کنسول
$ sudo usermod -aG docker $USER
- تغییرات گروه را در جلسه ترمینال فعلی خود اعمال کنید.کنسول
$ newgrp docker - نصب داکر را تأیید کنید.کنسول
$ docker --version
ایجاد ساختار دایرکتوری n8n #
این بخش، تنظیم ساختار دایرکتوری اختصاصی برای فایلهای پیکربندی n8n و ذخیرهسازی دادهها را پوشش میدهد.
- یک دایرکتوری برای n8n ایجاد کنید.کنسول
$ mkdir ~/n8n
- به پوشه n8n بروید.کنسول
$ cd ~/n8n
- یک دایرکتوری داده برای پایداری n8n ایجاد کنید.کنسول
$ mkdir n8n-data
- یک دایرکتوری برای ذخیره فایل محلی ایجاد کنید.کنسول
$ mkdir local-files - کانتینر n8n با UID 1000 اجرا میشود. مالکیت صحیح را برای دایرکتوری داده n8n تنظیم کنید تا با شناسه کاربری کانتینر مطابقت داشته باشد.کنسول
$ sudo chown -R ۱۰۰۰:۱۰۰۰ n8n-data local-files
پیکربندی Docker Compose برای n8n #
در این بخش، یک فایل پیکربندی Docker Compose برای n8n ایجاد کنید.
- یک فایل پیکربندی جدید Docker Compose ایجاد کنید.کنسول
$ nano docker-compose.yml - پیکربندی زیر را به فایل اضافه کنید.
n8n.example.comدامنه واقعی خود را جایگزین کنید.yamlservices: n8n: image: n8nio/n8n:latest container_name: n8n restart: unless-stopped ports: - "۵۶۷۸:۵۶۷۸" environment: - N8N_HOST=n8n.example.com - N8N_PORT=5678 - N8N_PROTOCOL=https - WEBHOOK_URL=https://n8n.example.com - N8N_EDITOR_BASE_URL=https://n8n.example.com - GENERIC_TIMEZONE=UTC - N8N_USER_FOLDER=/home/node/.n8n volumes: - ./n8n-data:/home/node/.n8n - ./local-files:/files networks: - n8n-network networks: n8n-network: driver: bridge
فایل را ذخیره کنید و ببندید.
پیکربندی فوق یک کانتینر n8n با ذخیرهسازی پایدار، تنظیمات پروتکل HTTPS و پشتیبانی از وبهوکها ایجاد میکند.
نصب و پیکربندی Nginx #
Nginx به عنوان یک پروکسی معکوس برای مدیریت خاتمه HTTPS و ارسال درخواستها به کانتینر n8n عمل میکند. Nginx را نصب کنید و یک پیکربندی بلوک سرور برای دامنه خود ایجاد کنید.
- Nginx را نصب کنید.کنسول
$ sudo apt install nginx -y - یک پیکربندی بلوک سرور Nginx جدید ایجاد کنید. آن را
n8n.example.comبا دامنه خود جایگزین کنید.کنسول$ sudo nano /etc/nginx/sites-available/n8n.example.com
- پیکربندی زیر را به فایل اضافه کنید.
n8n.example.comدامنه خود را جایگزین کنید.iniserver { listen 80; server_name n8n.example.com; location / { proxy_pass http://localhost:5678; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; # WebSocket support proxy_buffering off; # Timeout settings for long-running workflows proxy_read_timeout 300s; proxy_connect_timeout 75s; } }
فایل را ذخیره کنید و ببندید.
این پیکربندی شامل پشتیبانی از WebSocket و زمانبندیهای طولانی مدت لازم برای بهروزرسانیهای بلادرنگ n8n و گردشهای کاری طولانی مدت است.
- برای فعال کردن سایت، یک پیوند نمادین ایجاد کنید.کنسول
$ sudo ln -s /etc/nginx/sites-available/n8n.example.com /etc/nginx/sites-enabled/
- پیکربندی Nginx را برای خطاهای نحوی آزمایش کنید.کنسول
$ sudo nginx -t - برای اعمال پیکربندی، Nginx را مجدداً بارگذاری کنید.کنسول
$ sudo systemctl reload nginx
پیکربندی قوانین فایروال #
در این بخش، قوانین فایروال خود را پیکربندی کنید تا ترافیک لازم را مجاز کنید.
- برای تنظیمات اولیه و اعتبارسنجی گواهی SSL، ترافیک HTTP را مجاز کنید.کنسول
$ sudo ufw allow ۸۰/tcp
- اجازه دسترسی امن به ترافیک HTTPS را بدهید.کنسول
$ sudo ufw allow ۴۴۳/tcp
نصب Certbot و دریافت گواهی TLS #
Certbot با استفاده از Let’s Encrypt، تولید و تمدید گواهی TLS را خودکار میکند. نصب n8n خود را با HTTPS ایمن کنید تا از انتقال دادهها محافظت کرده و نقاط پایانی وبهوک ایمن را فعال کنید.
- Certbot و افزونه Nginx را نصب کنید.کنسول
$ sudo apt install certbot python3-certbot-nginx -y - برای دامنه خود یک گواهی TLS دریافت کنید. آن را
n8n.example.comبا دامنه وadmin@example.comآدرس ایمیل خود جایگزین کنید.کنسول$ sudo certbot --nginx -d n8n.example.com --email admin@example.com --agree-tos --non-interactive
Certbot به طور خودکار پیکربندی Nginx شما را تغییر میدهد تا تنظیمات TLS را شامل شود و تمدید خودکار گواهی را تنظیم میکند.
- تمدید خودکار گواهینامه را آزمایش کنید.کنسول
$ sudo certbot renew --dry-runیک تست آزمایشی موفق تأیید میکند که تمدید خودکار به درستی پیکربندی شده است.
شروع n8n #
در این بخش، کانتینر n8n را با استفاده از Docker Compose مستقر کرده و نصب را تأیید کنید.
- به پوشه n8n بروید.کنسول
$ cd ~/n8n
- n8n را در حالت جدا شروع کنید.کنسول
$ docker compose up -d - وضعیت کانتینر را بررسی کنید.کنسول
$ docker compose ps - برای تأیید راهاندازی موفقیتآمیز، گزارشهای کانتینر را مشاهده کنید.کنسول
$ docker logs n8n
خروجی نمونه:
... n8n ready on https://n8n.example.com
دسترسی و پیکربندی n8n #
با ایجاد یک حساب کاربری ادمین و پیکربندی تنظیمات اولیه، تنظیمات اولیه را تکمیل کنید.
- یک مرورگر وب باز کنید و به دامنه n8n خود بروید.
https://n8n.example.com - با وارد کردن ایمیل، نام و رمز عبور، حساب کاربری ادمین خود را ایجاد کنید.
- برای شروع ایجاد اتوماسیون، به ویرایشگر گردش کار n8n دسترسی پیدا کنید.
- شما میتوانید گردشهای کاری موجود را از بخش الگوها (Templates) مرور کنید ، یا عامل گردش کار خودتان را ایجاد کنید.
مدیریت کانتینر n8n #
از این دستورات برای مدیریت نصب n8n خود استفاده کنید.
مشاهده گزارشها #
لاگهای n8n را به صورت بلادرنگ رصد کنید.
$ docker logs -f n8nتوقف n8n #
کانتینر n8n را متوقف کنید.
$ docker compose downn8n را مجدداً راه اندازی کنید #
کانتینر n8n را مجدداً راهاندازی کنید.
$ docker compose restartبهروزرسانی n8n #
به آخرین نسخه n8n بهروزرسانی کنید.
$ docker compose pull
$ docker compose up -dنتیجه گیری #
شما با موفقیت n8n را روی اوبونتو ۲۴.۰۴ با Docker نصب کردید، Nginx را به عنوان یک پروکسی معکوس پیکربندی کردید و نصب را با گواهینامههای TLS ایمن کردید. سرور n8n شما اکنون آماده ایجاد اتوماسیون گردش کار است. استقرار کانتینر شده، نگهداری، بهروزرسانیها و مقیاسپذیری آسان را با افزایش نیازهای اتوماسیون شما تضمین میکند. برای اطلاعات بیشتر، به مستندات n8n مراجعه کنید .