n8n — одна из самых популярных платформ для автоматизации бизнес-процессов и интеграции различных сервисов без необходимости писать большое количество кода. С ее помощью можно создавать сценарии обработки данных, интегрировать CRM, Telegram, электронную почту, базы данных, API различных сервисов и десятки других приложений. Для стабильной и безопасной работы рекомендуется развернуть n8n на собственном VPS или выделенном сервере. Такой подход обеспечивает полный контроль над системой, защиту данных, возможность масштабирования и независимость от сторонних облачных сервисов. В этом руководстве подробно рассмотрим, как правильно развернуть сервер с n8n, используя Docker, PostgreSQL, Nginx и бесплатный SSL-сертификат.

Почему лучше использовать собственный сервер

Самостоятельное размещение n8n имеет несколько преимуществ:
  • полный контроль над данными;
  • отсутствие ограничений облачной версии;
  • возможность установки собственных модулей;
  • использование любого количества рабочих процессов;
  • простое масштабирование;
  • резервное копирование базы данных;
  • повышенная безопасность.

Минимальные требования к VPS

Ресурс Минимум Рекомендуется
CPU 1 ядро 2–4 ядра
RAM 2 ГБ 4 ГБ и более
Диск 20 ГБ SSD 40–80 ГБ NVMe
ОС Ubuntu 24.04 LTS Ubuntu 24.04 LTS

Подключение к серверу

После создания VPS подключитесь по SSH:
ssh root@YOUR_SERVER_IP 

Обновление системы

sudo apt update sudo apt upgrade -y 

Установка Docker

sudo apt install docker.io -y sudo systemctl enable docker sudo systemctl start docker 
Проверка установки:
docker --version 

Установка Docker Compose

sudo apt install docker-compose-plugin -y 
Проверить можно командой:
docker compose version 

Создание структуры проекта

mkdir ~/n8n cd ~/n8n 

Создание файла .env

N8N_HOST=n8n.example.com N8N_PORT=5678 N8N_PROTOCOL=https WEBHOOK_URL=https://n8n.example.com/ GENERIC_TIMEZONE=Europe/Moscow DB_TYPE=postgresdb DB_POSTGRESDB_HOST=postgres DB_POSTGRESDB_DATABASE=n8n DB_POSTGRESDB_USER=n8n DB_POSTGRESDB_PASSWORD=StrongPassword123 

Создание docker-compose.yml

services: postgres: image: postgres:16 restart: always environment: POSTGRES_USER: n8n POSTGRES_PASSWORD: StrongPassword123 POSTGRES_DB: n8n volumes: - postgres_data:/var/lib/postgresql/data n8n: image: n8nio/n8n:latest restart: always ports: - "5678:5678" env_file: - .env depends_on: - postgres volumes: - n8n_data:/home/node/.n8n volumes: postgres_data: n8n_data: 

Запуск контейнеров

docker compose up -d 
Проверить работу контейнеров:
docker ps 

Просмотр логов

docker compose logs -f 

Установка Nginx

sudo apt install nginx -y 

Настройка Reverse Proxy

Создайте файл конфигурации:
sudo nano /etc/nginx/sites-available/n8n 
Пример содержимого:
server { listen 80; server_name n8n.example.com; location / { proxy_pass http://127.0.0.1:5678; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } } 
Активируйте конфигурацию:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx 

Установка SSL

Установите Certbot:
sudo apt install certbot python3-certbot-nginx -y 
Получите сертификат:
sudo certbot --nginx 
После завершения мастер автоматически настроит HTTPS и переадресацию с HTTP.

Создание пользователя администратора

При первом открытии веб-интерфейса n8n предложит создать учетную запись администратора. Используйте сложный пароль и включите двухфакторную аутентификацию, если она доступна.

Резервное копирование данных

Для сохранения рабочих процессов и базы данных регулярно выполняйте резервное копирование. Экспорт базы PostgreSQL:
docker exec postgres pg_dump -U n8n n8n > backup.sql 
Архивация данных n8n:
tar -czf n8n-data.tar.gz ~/n8n 

Обновление n8n

Чтобы установить новую версию:
docker compose pull docker compose up -d 

Автоматический запуск после перезагрузки

Параметр:
restart: always 
в файле docker-compose.yml обеспечивает автоматический запуск контейнеров после перезагрузки VPS.

Защита сервера

После установки рекомендуется выполнить базовую настройку безопасности. Настройка UFW:
sudo ufw allow OpenSSH sudo ufw allow 80 sudo ufw allow 443 sudo ufw enable 
Отключение входа под root:
sudo nano /etc/ssh/sshd_config 
Измените параметр:
PermitRootLogin no 
После этого перезапустите SSH:
sudo systemctl restart ssh 

Мониторинг работы

Полезные команды:
docker stats docker ps docker compose logs systemctl status nginx 

Типичные ошибки

  • не настроен домен для WEBHOOK_URL;
  • отсутствует SSL-сертификат;
  • используется SQLite вместо PostgreSQL для рабочих проектов;
  • не настроено резервное копирование;
  • открыт доступ к панели управления без авторизации;
  • контейнеры запускаются без автоматического рестарта.

Полезные рекомендации

  • Используйте PostgreSQL вместо SQLite для долгосрочных проектов.
  • Размещайте n8n только через HTTPS.
  • Регулярно обновляйте Docker-образы.
  • Настройте автоматическое резервное копирование базы данных.
  • Используйте сложные пароли и SSH-ключи.
  • Следите за использованием памяти и процессора.
  • Перед обновлением создавайте резервную копию проекта.
Развертывание n8n на собственном VPS — оптимальный вариант для создания надежной системы автоматизации. Использование Docker упрощает установку и обновление платформы, PostgreSQL обеспечивает стабильное хранение данных, а Nginx с SSL-сертификатом позволяет безопасно публиковать веб-интерфейс и webhook-адреса в интернете. Следуя приведенной инструкции, вы сможете развернуть производительный сервер n8n, обеспечить его защиту, автоматическое резервное копирование и удобное масштабирование по мере роста количества рабочих процессов и интеграций.

Метки: