production setup

Установка и настройка n8n self-hosted

Разворачиваем n8n на VPS или выделенном сервере так, чтобы вебхуки, SSL, перезапуск, переменные окружения и базовая безопасность были готовы до запуска автоматизаций.

Какие задачи закрывает

  • новый n8n-сервер под рабочие сценарии
  • переезд с облака или тестового окружения
  • домен, HTTPS, reverse proxy и Docker Compose
  • backup, обновления, доступы и базовая диагностика

Что входит во внедрение

  • запущенный n8n с HTTPS
  • Docker Compose и env-конфигурация
  • проверка вебхуков и базовых credentials
  • короткая инструкция по эксплуатации

Кому подходит

  • команды, уходящие с n8n Cloud из-за лимитов или цены при росте числа executions
  • проекты, где данные нельзя отправлять во внешние SaaS - нужен self-hosted контур и контроль credentials
  • агентства, которым нужен единый n8n под нескольких клиентов с изоляцией сценариев и доступов
  • стартапы и продуктовые команды, у которых уже есть VPS под другие сервисы - n8n встаёт рядом без отдельной инфраструктуры

Когда self-hosted - правильный выбор

  • в n8n Cloud упёрлись в лимит executions или платите за каждое исполнение - self-hosted убирает биллинг по операциям
  • нужна полная изоляция: credentials, логи и payload не покидают вашу инфраструктуру и юрисдикцию
  • планируется кастомная Code-логика с тяжёлыми зависимостями (Python, библиотеки) - на Cloud это ограничено
  • важен контроль версий: Docker-tag фиксируется, обновления вы запускаете сами и в нужное окно
Как работаем

Этапы установки n8n

1. Подготовка VPS

Проверка ресурсов, SSH-ключи, firewall (ufw), пользователь без root, swap при необходимости. Согласуем домен и DNS-записи под webhook URL.

2. Docker Compose + Postgres

docker-compose с n8n, PostgreSQL и reverse proxy. Переменные окружения, encryption key, лимиты памяти контейнеров, restart-политика.

3. HTTPS и webhook URL

Caddy или nginx + Let’s Encrypt, автообновление сертификата, корректный WEBHOOK_URL, проверка реальных триггеров от внешних систем.

4. Backup и мониторинг

pg_dump по расписанию, копия каталога .n8n, ротация бэкапов, базовые алерты на падение контейнера и переполнение диска.

Стек подробно

  • Docker Compose. Один файл описывает n8n, Postgres и reverse proxy. Версии фиксируются тегами, обновление контролируете вы.
  • PostgreSQL. По умолчанию ставим Postgres вместо SQLite - он выдерживает рост executions и нужен для очередей в queue-режиме.
  • Caddy или nginx + Let’s Encrypt. HTTPS из коробки с автообновлением сертификата. Webhook-эндпойнты доступны по реальному домену.
  • Firewall (ufw / iptables). Наружу торчат только 80/443, n8n-порт закрыт. SSH - на нестандартном порту и только по ключам.
  • Backup-скрипты. Cron + pg_dump + архив каталога /home/node/.n8n, выгрузка в S3 или внешнее хранилище по выбору клиента.
  • Мониторинг. Healthcheck в docker-compose, алерт в Telegram при падении контейнера, лог-ротация в logrotate.

Не берёмся и риски

  • не ставим n8n на shared-хостинг или серверы без root-доступа - Docker и проброс портов требуют контроля
  • не используем дефолтные пароли и базовый SQLite в production - это бомба замедленного действия при росте
  • не обещаем «развернуть за час и забыть»: production-сервер требует регулярных обновлений Docker, ОС и самого n8n
  • предупреждаем заранее: миграция с n8n Cloud → self-hosted с сохранением истории executions не всегда возможна - чаще переносим только workflows и credentials
  • не делаем «голый» n8n без backup и мониторинга - это создаёт ложное чувство стабильности
Скоупинг

Развернуть n8n на вашем сервере

За 30 минут смотрим текущую инфраструктуру и говорим, что нужно для production-установки и сколько это займёт. Без обязательств.

Получить план автоматизации
Результат

Что получает бизнес

Свой контур

Данные, credentials и логи остаются у вас. Никаких сторонних SaaS в цепочке, никаких внешних аудитов и неожиданных смен ToS.

Предсказуемый счёт

Платите за VPS, а не за каждое исполнение. При 50k+ executions в месяц self-hosted обычно дешевле Cloud в 5–10 раз.

Готов к нагрузке

Postgres вместо SQLite, очереди executions, healthcheck - сервер не падает на пике и переживает рост числа сценариев.

Документированный handoff

Передаём docker-compose, env, скрипты бэкапа и инструкцию по обновлению. Команда поддерживает сервер без нас.

FAQ

FAQ перед стартом

Можно ли поставить n8n на мой VPS?

Да, если есть SSH-доступ, домен и сервер с достаточными ресурсами.

Что лучше: SQLite или PostgreSQL?

Для production и роста лучше PostgreSQL; SQLite подходит для небольших стартовых сценариев.

Можно ли настроить webhook URL сразу?

Да. Проверяются публичные webhook URL, HTTPS, прокси и ответы тестовых endpoints.

Сколько ресурсов нужно VPS под n8n?

Для лёгких сценариев хватает 1 vCPU и 2 ГБ RAM. Для production с PostgreSQL и десятками тысяч executions в месяц - 2 vCPU и 4 ГБ RAM. При тяжёлой Code-логике или AI-вызовах планируем больше.

Как обновлять n8n без потери workflows?

Workflows, credentials и executions хранятся в PostgreSQL. Перед обновлением делаем pg_dump и архив каталога .n8n, меняем тег образа в docker-compose и перезапускаем. Если что-то идёт не так - откат на предыдущий тег и восстановление из бэкапа.

Что с бэкапами и как восстановить?

Каждый день cron делает pg_dump и архив каталога .n8n, выгружает в S3 или внешнее хранилище с ротацией. Восстановление - поднять чистый docker-compose, импортировать дамп Postgres, распаковать каталог .n8n и перезапустить контейнер.

Какие порты открывать наружу?

Только 443 (HTTPS) и при необходимости 80 для редиректа и Let’s Encrypt. Порт самого n8n (5678) наружу не торчит - обращения идут через reverse proxy. SSH - на нестандартном порту и только по ключам.

Начать с этой услуги

Установка и настройка n8n self-hosted

Установка n8n на VPS или сервер: Docker Compose, HTTPS, домен, переменные окружения, backup, webhooks и базовая production-настройка.

Получить план автоматизации