Що таке n8n і навіщо використовувати Docker для встановлення?
n8n — це потужний інструмент автоматизації робочих процесів з відкритим кодом, який допомагає з’єднувати різні додатки та автоматизувати повторювані завдання. Встановлення n8n за допомогою Docker на VPS-сервері забезпечує найпростіший та найнадійніший метод розгортання з ізольованими середовищами, простим оновленням та стабільною продуктивністю.
Основні переваги хостингу n8n з Docker на VPS:
- Встановлення та оновлення однією командою
- Повний контроль і конфіденційність даних
- Відсутність обмежень на виконання робочих процесів
- Ізольоване та безпечне середовище
- Легке резервне копіювання та міграція
- Стабільна продуктивність на всіх системах
Необхідні вимоги
Перед встановленням n8n з Docker на VPS переконайтеся, що у вас є:
- Linux VPS сервер (рекомендуємо UnixHost Pro VPS — надійний і доступний)
- Ubuntu 20.04 або новіша версія (або Debian/CentOS)
- Мінімум 2ГБ оперативної пам’яті (рекомендовано 4ГБ+ для продакшену)
- Root або sudo доступ
- Доменне ім’я (необов’язково, але рекомендовано для SSL)
Крок 1: Підключення до VPS-сервера
Спочатку підключіться до VPS через SSH:
ssh root@ip_вашого_сервера
Замініть ip_вашого_сервера
на фактичну IP-адресу вашого VPS.
Крок 2: Оновлення системних пакетів
Підтримуйте систему в безпечному та актуальному стані:
sudo apt update && sudo apt upgrade -y
Крок 3: Встановлення Docker та Docker Compose
Встановіть Docker за допомогою офіційного скрипта:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Перевірте встановлення Docker:
docker --version
Встановіть Docker Compose:
sudo apt install docker-compose -y
Перевірте Docker Compose:
docker-compose --version
Увімкніть автозапуск Docker:
sudo systemctl enable docker
sudo systemctl start docker
Крок 4: Створення структури директорій для n8n
Створіть виділену директорію для даних n8n:
mkdir -p ~/.n8n
cd ~/.n8n
Ця директорія зберігатиме ваші робочі процеси, облікові дані та базу даних.
Крок 5: Створення конфігурації Docker Compose
Створіть файл docker-compose.yml
:
nano docker-compose.yml
Додайте наступну конфігурацію:
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=ваш_безпечний_пароль
- N8N_HOST=${N8N_HOST:-localhost}
- N8N_PORT=5678
- N8N_PROTOCOL=http
- NODE_ENV=production
- WEBHOOK_URL=http://ваш_домен.com/
- GENERIC_TIMEZONE=Europe/Kiev
volumes:
- ./n8n_data:/home/node/.n8n
networks:
- n8n-network
networks:
n8n-network:
driver: bridge
Важливо: Замініть ваш_безпечний_пароль
на надійний пароль і оновіть ваш_домен.com
на ваш справжній домен.
Збережіть файл (Ctrl+O, Enter, Ctrl+X).
Крок 6: Запуск n8n за допомогою Docker
Запустіть n8n за допомогою Docker Compose:
docker-compose up -d
Перевірте, чи працює контейнер:
docker ps
Перегляньте логи n8n:
docker logs n8n -f
За замовчуванням n8n працює на порту 5678. Отримайте доступ через: http://ip_вашого_сервера:5678
Крок 7: Налаштування зворотного проксі Nginx (рекомендовано)
Встановіть Nginx:
sudo apt install nginx -y
Створіть конфігурацію Nginx:
sudo nano /etc/nginx/sites-available/n8n
Додайте цю конфігурацію:
server {
listen 80;
server_name ваш_домен.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_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_cache_bypass $http_upgrade;
}
}
Активуйте сайт:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Крок 8: Захист n8n за допомогою SSL-сертифіката
Встановіть Certbot для безкоштовного SSL:
sudo apt install certbot python3-certbot-nginx -y
Отримайте SSL-сертифікат:
sudo certbot --nginx -d ваш_домен.com
Оновіть ваш docker-compose.yml для використання HTTPS:
nano docker-compose.yml
Змініть змінні середовища:
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://ваш_домен.com/
Перезапустіть n8n:
docker-compose down
docker-compose up -d
Крок 9: Налаштування брандмауера
Дозвольте необхідні порти:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Крок 10: Доступ до вашого встановлення n8n
Відвідайте ваш домен: https://ваш_домен.com
Увійдіть за допомогою облікових даних, які ви встановили в docker-compose.yml, і почніть створювати робочі процеси!
Крок 11: Управління n8n за допомогою Docker
Зупинити n8n:
docker-compose stop
Запустити n8n:
docker-compose start
Перезапустити n8n:
docker-compose restart
Оновити n8n до останньої версії:
docker-compose pull
docker-compose up -d
Переглянути логи:
docker logs n8n -f
Резервне копіювання даних n8n:
tar -czf n8n-backup-$(date +%Y%m%d).tar.gz ./n8n_data
Розширена конфігурація: База даних PostgreSQL
Для кращої продуктивності в продакшені використовуйте PostgreSQL замість SQLite:
Створіть оновлений docker-compose.yml
:
version: '3.8'
services:
postgres:
image: postgres:15-alpine
container_name: n8n-postgres
restart: always
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=пароль_бази_даних
- POSTGRES_DB=n8n
volumes:
- ./postgres_data:/var/lib/postgresql/data
networks:
- n8n-network
healthcheck:
test: ['CMD-SHELL', 'pg_isready -h localhost -U n8n']
interval: 5s
timeout: 5s
retries: 10
n8n:
image: n8nio/n8n:latest
container_name: n8n
restart: always
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=пароль_бази_даних
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=ваш_безпечний_пароль
- N8N_HOST=${N8N_HOST:-localhost}
- N8N_PORT=5678
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://ваш_домен.com/
- GENERIC_TIMEZONE=Europe/Kiev
volumes:
- ./n8n_data:/home/node/.n8n
networks:
- n8n-network
depends_on:
postgres:
condition: service_healthy
networks:
n8n-network:
driver: bridge
Застосуйте конфігурацію:
docker-compose down
docker-compose up -d
Поради щодо оптимізації продуктивності
Збільшення ресурсів Docker контейнера:
Додайте до вашого docker-compose.yml
під сервісом n8n:
deploy:
resources:
limits:
cpus: '2'
memory: 2G
reservations:
memory: 1G
Увімкнення обмежень логування Docker:
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
Використання Docker volumes для кращої продуктивності:
volumes:
n8n_data:
postgres_data:
Усунення поширених проблем
Контейнер не запускається:
docker logs n8n
docker-compose logs -f
Перевірка статусу контейнера:
docker ps -a
Повне скидання n8n:
docker-compose down -v
docker-compose up -d
Проблеми з підключенням до бази даних:
docker exec -it n8n-postgres psql -U n8n -d n8n
Проблеми з правами доступу:
sudo chown -R 1000:1000 ./n8n_data
Чому варто обрати UnixHost Pro для хостингу n8n Docker?
При виборі VPS-провайдера для розгортання n8n Docker, UnixHost Pro VPS пропонує:
- Високопродуктивне SSD-сховище для Docker volumes
- Оптимізовано для контейнерних додатків
- Надійний аптайм і швидка мережа
- Гнучке масштабування ресурсів
- Попередньо налаштована підтримка Docker
- Конкурентні ціни
- Експертна технічна підтримка 24/7
Висновок
Встановлення n8n з Docker на вашому VPS-сервері забезпечує найефективніше та найлегше в обслуговуванні налаштування автоматизації робочих процесів. З Docker ви отримуєте легкі оновлення, прості резервні копії та ізольовані середовища. Слідуючи цій інструкції, ви можете запустити готовий до використання екземпляр n8n менш ніж за 15 хвилин.
Готові автоматизувати свої робочі процеси з Docker? Почніть з надійного Linux VPS від UnixHost Pro вже сьогодні!
Ключові слова: встановлення n8n docker, docker compose n8n, VPS автоматизація, автоматизація робочих процесів docker, налаштування n8n VPS, Linux VPS docker, контейнер n8n, інструменти автоматизації, self-hosted n8n, туторіал n8n docker, VPS хостинг, docker розгортання, контейнеризований n8n