Сервер для n8n: сколько ресурсов нужно и как запустить

Сервер для n8n: сколько ресурсов нужно и как запустить

Марина
Марина
📅 15 сентября 2026
Сервер для n8n: сколько ресурсов нужно и как запустить

Для n8n — визуального конструктора автоматизаций, который связывает мессенджеры, почту, таблицы и любые API без написания кода — хватает скромной машины: контейнер стартует уже на 512 МБ оперативной памяти, а десяток регулярных сценариев укладывается в 1–2 ГБ. Это уровень самых простых тарифов из раздела недорогие VPS, где цены начинаются от 139 ₽/мес. Планка поднимается до 4 ГБ только в одном случае: если сценарии открывают страницы в headless-браузере — обычном браузере без окна, которым управляет скрипт.

Материал для тех, кто упёрся в лимиты облачной подписки или хочет держать данные клиентов у себя. Внутри: расчёт памяти под три типа нагрузки, таблица цен десяти провайдеров, установка через Docker Compose по шагам, настройка домена и HTTPS для вебхуков, переезд с SQLite на PostgreSQL и разбор ошибок, из-за которых сценарии молча перестают запускаться.

Что такое n8n и что меняется, когда он переезжает на ваш сервер

n8n — это программа с веб-интерфейсом, в котором вы мышью собираете цепочку из блоков: «пришло сообщение» — «взять строку из таблицы» — «отправить письмо». Такая цепочка называется воркфлоу (workflow, рабочий процесс), а отдельный блок — нода (node, узел). Каждый запуск цепочки называется выполнением (execution), и именно по числу выполнений тарифицируется облачная версия.

Self-hosted вариант — это тот же n8n, но запущенный вами на арендованной машине. Отличий три. Первое: число выполнений ничем не ограничено, вы упираетесь только в процессор и память. Второе: логины, токены и содержимое запросов лежат в базе на вашем диске, а не у стороннего сервиса. Третье: обновления, резервные копии и аптайм теперь ваша забота.

Технически n8n — приложение на Node.js, которое слушает порт 5678/TCP и отдаёт веб-интерфейс. Ставят его почти всегда в контейнере, так что операционная система под ним подойдёт любая современная — обычно берут Ubuntu или Debian из раздела VPS на Linux. Оболочка Windows тут не нужна и только съест 2 ГБ памяти впустую.

Требования n8n к ресурсам по профилям нагрузки
Сценарии с браузером — единственное, что реально требует 4 ГБ

Сколько оперативной памяти и ядер нужно n8n

Аппетит n8n определяется не количеством воркфлоу, а тем, что внутри них происходит. Сам процесс в простое держит 300–400 МБ. Каждое активное выполнение добавляет сверху: обычный HTTP-запрос — единицы мегабайт, обработка большого JSON — десятки, а нода, открывающая сайты через Puppeteer (библиотеку для управления браузером), поднимает полноценный Chromium и забирает 700–900 МБ разом.

Отсюда три профиля. Лёгкий: сценарии по расписанию, запросы к API, уведомления. Средний: постоянные вебхуки, обработка таблиц, 100–500 выполнений в сутки. Тяжёлый: парсинг сайтов через браузер и работа с файлами.

Профиль нагрузки RAM Ядра Диск Что тянет
Минимальный старт 512 МБ 1 10 ГБ 2–5 сценариев по расписанию, без вебхуков
Лёгкий 1 ГБ 1 10–15 ГБ До 10 воркфлоу, уведомления, простые API
Средний 2 ГБ 2 20–30 ГБ Вебхуки, PostgreSQL рядом, 100–500 выполнений в сутки
Тяжёлый 4 ГБ 2–4 40 ГБ и выше Puppeteer, парсинг страниц, обработка файлов

Диск растёт медленнее, чем кажется, но растёт постоянно: n8n сохраняет полный результат каждого выполнения, включая тела ответов. Тысяча выполнений с ответами по 50 КБ — это около 50 МБ в базе. За полгода без чистки такая база спокойно доходит до 3–5 ГБ, поэтому 10 ГБ на старте — минимум, а не запас.

Сколько стоит VPS под n8n: цены раздела

Для n8n важны два параметра: гарантированная память и тип диска. Ниже — стартовые тарифы провайдеров каталога. Смотрите на колонку с памятью: самый дешёвый вариант до рабочего объёма всё равно придётся расширять.

Провайдер Цена от Стартовая конфигурация Оценка каталога
RuVDS 139 ₽/мес 1 ядро, 0,5 ГБ RAM, 10 ГБ HDD 4.3
4VPS 110 ₽/мес 1 ядро, 1 ГБ RAM, 5 ГБ NVMe 4.0
FASTVPS 165 ₽/мес 1 ядро, 1 ГБ RAM, 10 ГБ SSD 3.8
JustHost.ru 289 ₽/мес 1 ядро, 1 ГБ RAM, 20 ГБ NVMe 4.5
Selectel 200 ₽/мес 1 ядро, 1 ГБ RAM, 10 ГБ NVMe 4.5
AdminVPS 299 ₽/мес 1 ядро, 1 ГБ RAM, 15 ГБ NVMe 4.5
Beget 330 ₽/мес 1 ядро, 1 ГБ RAM, 10 ГБ NVMe 4.5
IQHost 350 ₽/мес 1 ядро, 2 ГБ RAM, 15 ГБ SSD 4.0
Timeweb Cloud 477 ₽/мес 1 ядро, 1 ГБ RAM, 15 ГБ NVMe 4.5
Aéza 593 ₽/мес 1 ядро, 2 ГБ RAM, 30 ГБ NVMe 4.6

Данные проверены 03.09.2026.

Тариф RuVDS за 139 ₽/мес идёт с 0,5 ГБ памяти и обычным HDD — n8n на нём запустится, но первый же тяжёлый сценарий упрётся в память, а медленный диск добавит задержек при записи истории. Для честного сравнения смотрите на строки с 1 ГБ памяти: 4VPS отдаёт такую конфигурацию за 110 ₽/мес, FASTVPS — за 165 ₽/мес, Selectel — за 200 ₽/мес. Разница между ними за год меньше, чем стоит один вечер разбирательств с упавшим сервером.

Когда свой n8n действительно дешевле облачной подписки

Облачный n8n продаётся по числу выполнений: пакет заканчивается — сценарии встают до следующего месяца. Свой сервер платит за железо, а не за события, поэтому арифметика простая. Тариф за 165 ₽/мес — это 1 980 ₽ в год, и при этом неважно, 300 у вас выполнений в месяц или 300 тысяч.

Экономия становится очевидной в трёх случаях. Первый: у вас частые триггеры — опрос API каждые 5 минут даёт 8 640 выполнений в месяц с одного воркфлоу. Второй: сценарии гоняют персональные данные, и их нельзя отдавать наружу по договору. Третий: нужны свои Node.js-пакеты или доступ к базе внутри локальной сети — в облаке этого нет.

Обратная сторона — ваше время: установка занимает 30–40 минут, обновление раз в месяц — минут 10, разбор упавшего контейнера — от получаса. Если автоматизаций три штуки и работают они раз в неделю, свой сервер не окупится.

Подготовка сервера: обновления, пользователь и файрвол

Перед установкой машину нужно привести в порядок. Работа идёт по SSH — защищённому протоколу удалённого доступа к консоли сервера; реквизиты приходят на почту после оплаты. Все команды ниже выполняются от администратора, поэтому подставляйте sudo, если вы зашли не под root.

Отдельно про порты. По умолчанию у виртуальной машины открыт весь интернет, и оставлять веб-интерфейс n8n голым нельзя: у него есть форма входа, но её быстро находят сканеры. Правильная схема — закрыть порт 5678/TCP снаружи и пускать трафик только через порты 80/TCP и 443/TCP веб-сервера.

  1. Обновите систему: apt update && apt upgrade -y — команда подтягивает свежий список пакетов и ставит вышедшие патчи безопасности.
  2. Создайте рабочего пользователя adduser n8nadmin и добавьте его в группу sudo, чтобы не жить под root.
  3. Включите файрвол — сетевой экран, который пускает на сервер только разрешённые порты. В Ubuntu им управляет утилита ufw: ufw allow 22/tcp оставляет вход по SSH, ufw allow 80,443/tcp открывает веб, ufw enable включает защиту. Подробный разбор правил есть в инструкции по настройке файрвола на Linux-сервере.
  4. Задайте часовой пояс: timedatectl set-timezone Europe/Moscow — иначе расписания сценариев сработают со сдвигом на 3 часа.
  5. Проверьте свободную память командой free -h и добавьте файл подкачки (своп) на 2 ГБ, если в тарифе 1 ГБ RAM: при нехватке памяти система будет выгружать её излишки на диск вместо того, чтобы убивать процесс.
Файл docker-compose.yml для запуска n8n
n8n поднимается одним compose-файлом, интерфейс — на порту 5678

Установка n8n через Docker Compose

Ставить n8n напрямую через npm можно, но обновляться и откатываться проще в контейнере. Docker — система, которая запускает приложение вместе со всем его окружением в изолированной песочнице: версия Node.js внутри контейнера не зависит от того, что стоит в системе. Установочный скрипт с get.docker.com отрабатывает на чистой Ubuntu за 2–3 минуты.

Описание контейнера удобно держать в файле. Docker Compose — надстройка, которая читает конфигурацию из docker-compose.yml и поднимает по ней сервисы одной командой. Файл создают в отдельной папке, например /opt/n8n.

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=n8n.example.ru
      - WEBHOOK_URL=https://n8n.example.ru/
      - GENERIC_TIMEZONE=Europe/Moscow
      - N8N_ENCRYPTION_KEY=длинная-случайная-строка
    volumes:
      - ./data:/home/node/.n8n
  1. Запустите сервисы: docker compose up -d — ключ -d отправляет контейнер в фон, чтобы он не завершился при выходе из консоли.
  2. Посмотрите журнал: docker compose logs -f. Строка «Editor is now accessible» означает, что интерфейс поднялся.
  3. Откройте адрес сервера и заведите первого пользователя — n8n сам предложит форму на первом входе.
  4. Проверьте, что данные пишутся на диск: в папке data должен появиться файл базы и каталог с ключами.
  5. Обновление делается двумя командами: docker compose pull и повторный docker compose up -d.

Запись 127.0.0.1:5678:5678 в блоке портов принципиальна: она публикует контейнер только на локальном интерфейсе. Снаружи порт не виден вообще, и попасть в интерфейс можно исключительно через веб-сервер, который мы настроим дальше.

Домен, HTTPS и вебхуки: без них работает половина сценариев

Вебхук — это адрес, на который внешний сервис сам присылает данные, когда у него что-то произошло. Чтобы такой адрес существовал, серверу нужны две вещи: доменное имя и сертификат HTTPS. Ни один крупный сервис не отправит вебхук на голый IP по незашифрованному соединению.

Домен привязывают A-записью — строкой в настройках DNS, которая сопоставляет имя вида n8n.example.ru с IP-адресом сервера. Изменения расходятся по сети за 5–60 минут. После этого перед контейнером ставят обратный прокси — Nginx или Caddy, который принимает запросы на 443 порт, расшифровывает их и передаёт на локальный 5678.

Сертификат бесплатно выдаёт Let’s Encrypt, срок жизни — 90 дней, а продлевает его автоматически утилита certbot. Порядок действий описан в гайде по установке SSL от Let’s Encrypt. Главное после настройки — прописать переменную WEBHOOK_URL с полным https-адресом и перезапустить контейнер: без неё n8n будет показывать в интерфейсе внутренний адрес, и вебхуки не сработают.

SQLite или PostgreSQL: когда переносить хранилище

Из коробки n8n пишет воркфлоу, учётные данные и историю выполнений в SQLite — файловую базу, которая живёт одним файлом рядом с настройками. Для одного пользователя и десятка сценариев этого достаточно, и первые месяцы про базу можно не вспоминать.

Проблемы начинаются на объёме: SQLite блокирует файл на запись целиком, поэтому при параллельных выполнениях запросы встают в очередь. Порог заметен примерно с 500 выполнений в сутки или при размере базы больше 1 ГБ.

Критерий SQLite PostgreSQL
Настройка Не нужна, работает сразу Отдельный контейнер и переменные подключения
Расход RAM Практически нулевой 150–250 МБ дополнительно
Параллельные выполнения Очередь на запись Держит десятки одновременно
Комфортный потолок До 500 выполнений в сутки Десятки тысяч
Резервная копия Копирование одного файла Дамп через pg_dump

Переезд делается через переменные DB_TYPE=postgresdb и параметры подключения в том же compose-файле. Учтите, что автоматического переноса содержимого нет: воркфлоу выгружают в JSON через интерфейс, а учётные данные заводят заново, потому что они зашифрованы старым ключом.

Резервные копии, ключ шифрования и обновления

Самая дорогая потеря на своём n8n — это не сценарии, а учётные данные. Токены и пароли хранятся в базе в зашифрованном виде, а ключ лежит в переменной N8N_ENCRYPTION_KEY или в файле config внутри папки данных. Потеряли ключ — все подключения придётся заводить руками заново, даже если база цела.

Отсюда правило: копировать нужно всю папку с данными целиком, вместе с ключом. Простой вариант — ежедневный архив каталога /opt/n8n/data и отправка его в объектное хранилище. Схемы с ротацией и проверкой восстановления разобраны в материале про настройку бэкапов VPS.

Обновляться стоит раз в 3–4 недели, но не вслепую. Перед docker compose pull сделайте снимок диска, если провайдер это умеет, — откат займёт 5 минут вместо часа разбирательств. Ноды сторонних разработчиков после мажорного обновления иногда отваливаются, и это заметно только по упавшим выполнениям.

Что делать, когда n8n тормозит или падает

Самый частый диагноз — нехватка памяти. Контейнер убивает OOM killer — механизм Linux, который при исчерпании памяти принудительно завершает самый прожорливый процесс. Интерфейс отваливается, а в журнале появляется запись о завершении процесса по сигналу 137. Проверяется командой docker compose logs --tail 100: код выхода 137 — это ровно нехватка RAM, а не ошибка в сценарии.

Лечится тремя способами по возрастанию стоимости. Добавить своп на 2 ГБ — бесплатно, но медленно. Включить обрезку истории через EXECUTIONS_DATA_MAX_AGE=168, то есть хранить выполнения 168 часов (ровно неделю) вместо бесконечности, — тоже бесплатно и заметно разгружает базу. Перейти с 1 ГБ на 2 ГБ памяти — плюс 150–300 ₽/мес в зависимости от провайдера.

Второй по частоте случай — сценарии стоят, хотя сервер жив. Обычно виноват режим выполнения: при EXECUTIONS_MODE=queue задачи ставятся в очередь, и для их разбора нужны отдельный процесс-исполнитель (воркер) и хранилище очереди Redis. Без них задачи просто копятся. Для одного сервера оставьте обычный режим.

Частые ошибки

Почти все проблемы self-hosted n8n сводятся к нескольким повторяющимся ситуациям. Возникают они на этапе настройки и стоят от получаса до суток простоя. Проверьте список до того, как соберёте первый рабочий сценарий.

  • Публикация порта 5678 наружу без обратного прокси — интерфейс находят сканеры в первые сутки.
  • Отсутствие переменной WEBHOOK_URL: n8n показывает внутренний адрес, и внешние сервисы шлют данные в пустоту.
  • Бэкап только базы без ключа шифрования — восстановить учётные данные после переноса не получится.
  • Тариф с 0,5 ГБ RAM под сценарии с браузером: контейнер падает по памяти на третьем-четвёртом запуске.
  • Часовой пояс сервера в UTC при расписаниях, рассчитанных на Москву, — задачи стартуют на 3 часа раньше.
  • Хранение истории без ограничения по сроку: за полгода база вырастает на несколько гигабайт и съедает диск.

Частые вопросы

Какой минимальный сервер потянет n8n? Формально контейнер стартует на 512 МБ оперативной памяти и одном ядре, и для двух-трёх сценариев по расписанию этого хватит. Но запас в такой конфигурации нулевой: любой тяжёлый ответ от API уронит процесс. Рабочий минимум, на котором не приходится думать о памяти, — 1 ГБ, комфортный — 2 ГБ.

Обязателен ли домен для n8n? Для работы в интерфейсе — нет, можно ходить по IP-адресу. Но без домена и HTTPS не будут работать вебхуки и OAuth-подключения — это когда вы разрешаете n8n действовать от вашего имени в чужом сервисе, войдя туда через его же окно входа. А на них держится большая часть интересных сценариев. Домен стоит порядка 200–300 ₽ в год, и заводить его лучше сразу.

Можно ли поставить n8n на обычный виртуальный хостинг? Нет. Виртуальный хостинг рассчитан на PHP-сайты и не даёт держать постоянный фоновый процесс на Node.js со своим портом. Нужен именно виртуальный сервер с root-доступом, где вы сами решаете, что запускать.

Сколько дискового пространства заложить? Сам образ n8n занимает около 1,5 ГБ, система — ещё 3–4 ГБ. Остальное съедает история выполнений: примерно 50 МБ на тысячу запусков со средними по размеру ответами. Диск на 20 ГБ закрывает год работы при включённой очистке истории.

Нужен ли PostgreSQL сразу при установке? Нет, начинайте на SQLite — он работает из коробки и не требует настройки. Переходить на PostgreSQL имеет смысл, когда выполнений становится больше 500 в сутки или интерфейс начинает подвисать на вкладке истории. Перенос займёт вечер, отложить его безопасно.

Что будет, если сервер перезагрузится? При параметре restart: always в compose-файле Docker поднимет контейнер автоматически сразу после старта системы. Расписания продолжатся с ближайшего слота, а выполнения, попавшие на момент перезагрузки, будут помечены как прерванные и не запустятся повторно.

Где брать сервер, если проекты уже есть в России? Смотрите площадки с дата-центрами в России: задержка до внутренних сервисов будет ниже, а оплата пройдёт обычной картой. Стартовые тарифы провайдеров из таблицы выше начинаются от 110 ₽/мес и доходят до 593 ₽/мес за конфигурацию с 2 ГБ RAM и 30 ГБ NVMe.

Итог

Считайте не по цене, а по памяти: 1 ГБ — рабочий минимум для сценариев по расписанию и уведомлений, 2 ГБ — для вебхуков и постоянной нагрузки, 4 ГБ — если внутри воркфлоу открывается браузер. Разница в деньгах между ступенями — 150–400 ₽/мес.

Порядок запуска один и тот же: закрыть порты файрволом, поднять контейнер через Docker Compose с локальной публикацией 5678, привязать домен, выдать сертификат и прописать WEBHOOK_URL. Подходящие тарифы с фильтрами по памяти, диску и локации собраны в разделе VPS для Telegram-бота — требования у ботов и у n8n совпадают почти полностью.

Поделиться:
👁 57 просмотров
Марина
Редактор · FREEHOSTING
Главный редактор FREEHOSTING. С 2020 года тестирует VDS, VPS и хостинг-провайдеров — арендует серверы, нагружает их реальными проектами и пишет честные обзоры по итогам. Помогает читателям выбирать хостинг под свои задачи: от Telegram-бота до production-сайта.