VPS с самостоятельным администрированием

Установка n8n через Docker: PostgreSQL и HTTPS

Требования и границы установки

Используйте новый Linux VPS с Docker Engine, Compose v2, Python 3.11 или новее, curl и unzip. Нужны рабочий SSH-доступ, домен и свободные порты 80/443. Начальную конфигурацию выберите по руководству по ресурсам: эта инструкция не является бенчмарком.

Направьте n8n.example.com на публичный IPv4 сервера и замените этот пример своим доменом во всех шагах. AAAA добавляйте только при рабочем IPv6 до того же VPS и соответствующих правилах firewall. Разрешая TCP 80 и 443, сохраните правило SSH. PostgreSQL 5432 и task broker 5679 публиковать не нужно.

В комплекте n8n 2.41.4 и внешний runner той же версии, PostgreSQL 18 и Caddy 2. Последние два используют изменяемые теги major-версий; для точного воспроизведения сохраняйте digest образов. Данные PostgreSQL 18 монтируются в /var/lib/postgresql. Переключение тега не конвертирует каталог данных другой major-версии PostgreSQL.

Загрузите комплект и создайте настройки

curl -fL https://cloudcompute.ru/downloads/n8n-vps-v1.zip -o n8n-vps-v1.zip
unzip n8n-vps-v1.zip
cd n8n-vps
python3 configure.py --domain n8n.example.com --timezone Europe/Moscow
docker compose config --quiet
docker compose -f compose.yaml -f compose.bootstrap.yaml up -d postgres n8n runners
docker compose ps

configure.py создаёт независимые случайные пароли БД, ключ шифрования и токен runner в .env с правами 0600. Существующий файл он не перезаписывает. Не генерируйте новый ключ шифрования для установленного n8n: сохранённые credentials зависят от прежнего ключа. В базе создаётся отдельная роль n8n без прав суперпользователя.

Создайте владельца до публикации в интернете

Команда bootstrap запускает только БД, n8n и runner. Порт 5678 слушает loopback VPS, а Caddy ещё не запущен. На своём компьютере откройте туннель:

ssh -N -L 5678:127.0.0.1:5678 YOUR_SSH_USER@VPS_IP

Откройте http://localhost:5678 на этом компьютере и создайте аккаунт владельца с уникальным паролем. Временный override отключает secure cookies только для HTTP внутри SSH-туннеля. Первую сессию не публикуйте. Если локальный порт 5678 занят, выберите другой и откройте соответствующий URL.

Включите HTTPS после создания аккаунта

docker compose --profile public up -d
docker compose ps
docker compose logs --tail=60 caddy

Команда использует только основной файл, возвращая secure cookies и HTTPS-адрес редактора. При правильном DNS и доступности портов Caddy получает и продлевает сертификат. Откройте свой домен, войдите, затем закройте SSH-туннель. Не добавляйте compose.bootstrap.yaml к команде публичного запуска.

Проверьте сохранение данных и внешние подключения

Импортируйте локальный первый workflow, выполните его, перезапустите n8n и войдите снова. Аккаунт и сценарий должны сохраниться. До подключения внешних сервисов проверьте адреса webhook. Health endpoint показывает готовность сервиса, но не подтверждает работу Telegram или платного API.

Комплект отключает community packages и ноды для локальных команд и файлов; runner не получает пароль БД или ключ шифрования. Редактирование workflow доверяйте только своим операторам. Docker volumes сохраняют данные при пересоздании контейнеров, но docker compose down -v их удаляет. Настройте бэкапы до добавления важных подключений.

Все руководства по n8n.

Официальные источники: PostgreSQL example, External task runners.

Тарифы из текущего каталога

Сейчас не удалось загрузить планы. Смотрите актуальные тарифы на странице цен.