📄 محتوای کامل
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 ۱۰۰۰ اجرا میشود. مالکیت صحیح را برای دایرکتوری داده n8n تنظیم کنید تا با شناسه کاربری کانتینر مطابقت داشته باشد. کنسولکپی
$ sudo chown -R 1000:1000 n8n-data local-files
پیکربندی Docker Compose برای n8n
در این بخش، یک فایل پیکربندی Docker Compose برای n8n ایجاد کنید.
- یک فایل پیکربندی جدید Docker Compose ایجاد کنید. کنسولکپی
$ nano docker-compose.yml
- پیکربندی زیر را به فایل اضافه کنید.
n8n.example.comدامنه واقعی خود را جایگزین کنید. yamlکپیservices: n8n: image: n8nio/n8n:latest container_name: n8n restart: unless-stopped ports: - "5678:5678" 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دامنه خود را جایگزین کنید. iniکپیserver { 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 80/tcp
- اجازه دسترسی امن به ترافیک HTTPS را بدهید. کنسولکپی
$ sudo ufw allow 443/tcp
نصب Certbot و دریافت گواهی TLS
Certbot با استفاده از Let’s Encrypt، تولید و تمدید گواهی TLS را خودکار میکند. نصب n8n خود را با HTTPS ایمن کنید تا از انتقال دادهها محافظت کرده و نقاط پایانی وبهوک ایمن را فعال کنید.
- Certbot و افزونه Nginx را نصب کنید. کنسولکپی
$ sudo apt install certbot python3-certbot-nginx -y
- برای دامنه خود یک گواهی TLS دریافت کنید. آن را
n8n.example.comبا دامنه و[email protected]آدرس ایمیل خود جایگزین کنید. کنسولکپی$ sudo certbot --nginx -d n8n.example.com --email [email protected] --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 down
n8n را مجدداً راه اندازی کنید
کانتینر n8n را مجدداً راهاندازی کنید.
کنسولکپی$ docker compose restart
بهروزرسانی n8n
به آخرین نسخه n8n بهروزرسانی کنید.
کنسولکپی$ docker compose pull $ docker compose up -d
نتیجه گیری
شما با موفقیت n8n را روی اوبونتو ۲۴.۰۴ با Docker نصب کردید، Nginx را به عنوان یک پروکسی معکوس پیکربندی کردید و نصب را با گواهینامههای TLS ایمن کردید. سرور n8n شما اکنون آماده ایجاد اتوماسیون گردش کار است. استقرار کانتینر شده، نگهداری، بهروزرسانیها و مقیاسپذیری آسان را با افزایش نیازهای اتوماسیون شما تضمین میکند. برای اطلاعات بیشتر، به مستندات n8n مراجعه کنید .