n8n — конструктор автоматизаций: соединяет сервисы между собой без программирования. Пришла заявка с сайта — создать сделку в CRM, написать в Telegram и добавить строку в таблицу. Пришло письмо — разобрать его нейросетью и разложить по папкам. Облачная версия n8n берёт плату за количество запусков, а свой экземпляр на VPS работает без таких ограничений — вы платите только за сервер. Ниже — сколько ресурсов нужно, где разместить сервер, как установить n8n через Docker с HTTPS и что сделать, чтобы не потерять сценарии и доступы.
Что важно знать до установки
- Лицензия. n8n распространяется по лицензии Sustainable Use License. Её можно бесплатно использовать для своего бизнеса и для автоматизаций, которые вы строите клиентам. Нельзя без коммерческого соглашения продавать доступ к самому n8n как к сервису.
- Версия. Актуальная ветка — 2.x (версия 2.0 вышла в декабре 2025 года), на подходе 3.0. В 3.0 установка через npm для самостоятельного размещения прекращается, поддерживается только Docker. Поэтому ставьте сразу через Docker.
- База данных. По умолчанию n8n хранит всё в SQLite — для начала достаточно. Для рабочей нагрузки рекомендуется PostgreSQL (версии 16–18). MySQL и MariaDB во второй версии больше не поддерживаются.
Сколько ресурсов нужно
| Сценарий | Тариф | Ресурсы |
|---|---|---|
| Знакомство, несколько простых сценариев, SQLite | Start | 2 vCPU, 2 ГБ |
| Рабочий экземпляр с PostgreSQL, десятки сценариев, обработка файлов | Medium | 3 vCPU, 4 ГБ |
| Много сценариев, большие выгрузки, режим очереди с воркерами | Premium и выше | 4 vCPU, 8 ГБ и больше |
Ориентир совпадает с рекомендацией провайдера для его готового шаблона: минимум 2 ГБ памяти, рекомендуется 4 ГБ. Память съедают не сами сценарии, а данные, которые через них проходят: большие таблицы, файлы, ответы API. Если сценарий выгружает тысячи строк за раз, берите запас.
Где размещать сервер
n8n почти всегда обращается к внешним сервисам, и от этого зависит выбор страны:
- Нейросети. API OpenAI, Google Gemini и ряда других сервисов не работают с российских IP-адресов. Если в сценариях есть ИИ-шаги, сервер нужен за рубежом.
- Telegram. С февраля 2026 года Telegram в России официально замедляют; бот или уведомления из n8n стабильнее работают с зарубежного сервера.
- Персональные данные. n8n сохраняет данные выполнений — в них могут оказаться имена, телефоны, адреса клиентов. Если это данные россиян, учитывайте 152-ФЗ: базы с ними при сборе должны быть в России. Подробнее — в статье «Российские VPS или зарубежные». Как минимум включите автоочистку истории выполнений (см. ниже).
Для большинства сценариев с внешними API удобны Финляндия (ближе к российским пользователям, Xeon Gold 3.0 GHz и NVMe) и Нидерланды.
Вариант 1: готовый шаблон при заказе
У провайдера в списке систем при заказе VPS есть образ «Alpine Linux + n8n» — сервер приходит с уже установленным n8n. Это самый быстрый старт. После получения сервера проверьте версию n8n, настройте домен с HTTPS и бэкапы — шаги ниже подходят и для этого варианта.
Вариант 2: установка через Docker Compose
Подойдёт для Ubuntu 24.04 или Debian 13 с установленным Docker («Docker на VPS»). Понадобится домен, например n8n.example.com, с A-записью на сервер («DNS: как привязать домен к VPS»).
1. Файл окружения
В папке /opt/n8n создайте .env:
N8N_HOST=n8n.example.com N8N_PROTOCOL=https WEBHOOK_URL=https://n8n.example.com/ N8N_PROXY_HOPS=1 GENERIC_TIMEZONE=Europe/Moscow N8N_ENCRYPTION_KEY=длинная-случайная-строка POSTGRES_PASSWORD=другая-длинная-случайная-строка EXECUTIONS_DATA_PRUNE=true EXECUTIONS_DATA_MAX_AGE=168
Случайные строки удобно сгенерировать командой openssl rand -hex 32. Последние две строки включают автоочистку истории выполнений старше 7 дней (168 часов): база не разрастается, и меньше чувствительных данных лежит на диске.
2. docker-compose.yml
services:
postgres:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: n8n
volumes:
- pg_data:/var/lib/postgresql/data
n8n:
image: docker.n8n.io/n8nio/n8n:stable
restart: unless-stopped
env_file: .env
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_DATABASE: n8n
DB_POSTGRESDB_USER: n8n
DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
ports:
- "127.0.0.1:5678:5678"
volumes:
- n8n_data:/home/node/.n8n
depends_on:
- postgres
volumes:
pg_data:
n8n_data:
cd /opt/n8n docker compose up -d docker compose logs -f n8n
Порт 5678 привязан к 127.0.0.1: снаружи n8n напрямую недоступен, только через Nginx с HTTPS.
3. Nginx и HTTPS
server {
listen 443 ssl;
http2 on;
server_name n8n.example.com;
# ssl_certificate ... — добавит certbot
location / {
proxy_pass http://127.0.0.1:5678;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
client_max_body_size 50m;
}
}
Заголовки Upgrade и Connection нужны: редактор n8n работает через WebSocket. Сертификат выпустите по инструкции «SSL на VPS». При первом входе n8n попросит создать учётную запись владельца — сделайте это сразу, пока адрес не нашли чужие.
Без чего n8n нельзя оставлять
Ключ шифрования
Все доступы, которые вы вводите в n8n — токены API, пароли, ключи, — хранятся в базе в зашифрованном виде. Ключ — N8N_ENCRYPTION_KEY. Потеряете ключ — база с доступами превратится в набор нечитаемых строк, и все подключения придётся настраивать заново. Сохраните его в менеджере паролей, а не только на сервере.
Бэкапы
Копируйте базу PostgreSQL каждую ночь на другой сервер:
docker compose exec -T postgres pg_dump -U n8n n8n | gzip > /backup/n8n-$(date +%F).sql.gz
Дополнительно полезно выгружать сами сценарии в JSON встроенной командой n8n — их удобно хранить в Git:
docker compose exec -T n8n n8n export:workflow --all --output=/home/node/.n8n/backup.json
Как организовать хранение копий на другом сервере — в статье «Сервер для бэкапа».
Обновления
docker compose pull docker compose up -d
Перед обновлением на новую основную версию (например, с 2.x на 3.0) сделайте бэкап базы и прочитайте список изменений: в 2.0 и 3.0 менялись настройки по умолчанию и поведение некоторых узлов. В самом n8n есть отчёт о миграции (Settings → Migration Report) — он покажет сценарии, которые потребуют внимания.
Безопасность
- Двухфакторная аутентификация для учётной записи владельца — включается в настройках пользователя.
- Не публикуйте порт 5678 наружу — только через Nginx с HTTPS.
- Узлы, выполняющие команды на сервере (Execute Command), во второй версии по умолчанию отключены — без необходимости не включайте их.
- Входящие вебхуки защищайте заголовком или токеном: адрес вебхука могут найти и начать слать туда мусор.
- Мониторинг доступности редактора и вебхуков — «Мониторинг серверов».
Какой тариф взять
Medium в Финляндии под n8n — $20/мес Start в Финляндии для знакомства — $10/мес
Цены указаны на момент публикации, оплата у провайдера. Medium — 3 vCPU, 4 ГБ, 40 ГБ NVMe: рекомендованный объём памяти для рабочего n8n с PostgreSQL. Образ «Alpine Linux + n8n» выбирается в списке систем при заказе. Начать можно со Start и перейти на Medium без переноса данных, когда сценариев станет больше.
Коротко
- Свой n8n на VPS — без ограничений на число запусков; лицензия разрешает использовать его для своего бизнеса и клиентских автоматизаций.
- Минимум 2 ГБ памяти, для рабочего экземпляра с PostgreSQL — 4 ГБ.
- Для сценариев с нейросетями и Telegram сервер нужен за рубежом; данные россиян — по правилам 152-ФЗ, включите автоочистку истории выполнений.
- Ставьте через Docker (в 3.0 это единственный способ) или выберите готовый образ при заказе; доступ — только через Nginx с HTTPS.
- Сохраните
N8N_ENCRYPTION_KEYвне сервера и делайте ночной бэкап базы на другой сервер.
