Skip to main content

Установка n8n на Ubuntu

В этом руководстве описано, как установить и настроить n8n на сервере Ubuntu 24.04 LTS. n8n — инструмент автоматизации workflow с открытым исходным кодом: подключение сервисов (API, БД, webhook) и автоматизация задач через визуальный интерфейс по узлам, no-code или low-code.

Развёртывание: Docker, Docker Compose, Nginx как обратный прокси, Let's Encrypt для HTTPS.

Заказать сервер

HostMyServers предлагает варианты для размещения n8n: VPS Performance, NVMe, выделенные Eco и Performance.

Предварительные требования

  • SSH root или sudo, Ubuntu 24.04 LTS
  • Доменное имя (например, n8n.ваш-домен.com) с записью A
  • Порты 80 и 443 доступны

Установка Docker и Docker Compose

Добавьте официальный репозиторий Docker, установите docker-ce, docker-compose-plugin. При необходимости добавьте пользователя в группу docker и выполните newgrp docker.

Структура каталогов n8n

mkdir -p ~/n8n
cd ~/n8n
mkdir n8n-data local-files
sudo chown -R 1000:1000 n8n-data local-files

Docker Compose для n8n

Создайте docker-compose.yml с образом n8nio/n8n:latest, переменными: N8N_HOST, N8N_PORT, N8N_PROTOCOL=https, WEBHOOK_URL, N8N_EDITOR_BASE_URL, GENERIC_TIMEZONE (например Europe/Moscow), томами для n8n-data и local-files. Замените n8n.ваш-домен.com на ваш домен.

Nginx

Установите Nginx, создайте конфиг в /etc/nginx/sites-available/n8n.conf с proxy_pass http://localhost:5678, поддержкой WebSocket и таймаутами (proxy_read_timeout 300s). Включите сайт, проверьте конфиг, перезагрузите Nginx.

Брандмауэр и Certbot

Откройте 80 и 443 в UFW. Установите certbot и python3-certbot-nginx, получите сертификат: sudo certbot --nginx -d n8n.ваш-домен.com --email admin@example.com --agree-tos --non-interactive.

Запуск n8n

cd ~/n8n
docker compose up -d
docker compose ps
docker logs n8n

Доступ

Откройте https://n8n.ваш-домен.com, создайте учётную запись администратора (email, имя, пароль), используйте редактор workflow.

Webhooks

URL для webhook задаётся в WEBHOOK_URL. Убедитесь, что домен и HTTPS настроены корректно.

Управление контейнером

  • Логи: docker logs -f n8n
  • Остановка: docker compose down
  • Перезапуск: docker compose restart
  • Обновление: docker compose pull && docker compose up -d

Ссылки