В продолжении статьи «Установка n8n в Ubuntu Linux» сегодня доведем наш n8n до ума и сделаем ему полноценное доменное имя.
Сервис для авто-запуска n8n
По первой части статьи мы установили n8n и теперь нам необходимо создать сервисного пользователя и SystemD сервис для автоматического запуска n8n при старте сервера.
Создаем непривилегированного пользователя.
# adduser n8nuser
# mkdir /home/n8nuser/n8n/
# chown n8nuser:n8nuser /home/n8nuser/n8n/
Создаем сервис для автозапуска n8n при старте сервера (файл /etc/systemd/system/n8n.service).
[Unit]
Description=n8n Workflow Automation
After=network.target
[Service]
ExecStart=/usr/bin/n8n start --tunnel
Restart=always
RestartSec=10
User=n8nuser
Group=n8nuser
[Install]
WantedBy=multi-user.target
Настраиваем автозапуск и запускаем сервис.
# systemctl daemon-reload
# systemctl enable n8n
# systemctl start n8n
# systemctl status n8n
Если все прошло штатно, то мы увидим подобные сообщения.
Dec 08 11:25:19 srv-prod-cloud-01 n8n[15061]: Waiting for tunnel ...
Dec 08 11:25:20 srv-prod-cloud-01 n8n[15061]: Tunnel URL: https://b6z8tpdo8lok8makpasuwfrj.hooks.n8n.cloud/
Dec 08 11:25:20 srv-prod-cloud-01 n8n[15061]: IMPORTANT! Do not share with anybody as it would give people access to your n8n instance!
Dec 08 11:25:21 srv-prod-cloud-01 n8n[15061]: Version: 1.122.5
Dec 08 11:25:21 srv-prod-cloud-01 n8n[15061]: Editor is now accessible via:
Dec 08 11:25:21 srv-prod-cloud-01 n8n[15061]: https://b6z8tpdo8hefwbakpasuwfrj.hooks.n8n.cloud
Настройка домена и реверс-прокси Nginx
Устанавливаем необходимые пакеты.
# aptitude install nginx python3-certbot-nginx
Получаем сертификаты Let’s encrypt для нашего домена.
# certbot --nginx -d n8n.interlan.xyz
Конфигурация реверс-проxy Nginx (/etc/nginx/conf.d/n8n.conf).
server {
listen 80;
server_name n8n.interlan.xyz; # Replace with your actual domain
return 301 https://$host$request_uri; # Redirect HTTP to HTTPS
}
server {
listen 443 ssl;
server_name n8n.interlan.xyz; # Replace with your actual domain
ssl_certificate /etc/letsencrypt/live/n8n.interlan.xyz/fullchain.pem; # Path to your SSL certificate
ssl_certificate_key /etc/letsencrypt/live/n8n.interlan.xyz/privkey.pem; # Path to your SSL key
location / {
proxy_pass http://localhost:5678;
proxy_set_header Host $host;
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_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300s;
proxy_send_timeout 300s;
client_max_body_size 50M;
}
}
Обновляем конфигурацию Nginx и открываем в браузере мастер настройки.
# systemctl reload nginx
Первый зарегистрированный пользователь будет администратором.






