Встановлення n8n з Docker на VPS | Повний гайд 2025

n8n-blog

Що таке 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