n8n - штука мощная. Это как конструктор автоматизаций, только для реальной работы. Но чтобы пользоваться им спокойно, без ограничений и чужих серверов, нужно развернуть его у себя. На самом деле это проще, чем кажется. Я прошёл через это, набил шишек и сейчас покажу, как сделать всё правильно.
Берите кофе, пристегнитесь. Поехали.
Почему свой сервер, а не облачный n8n
Облачная версия удобна для тестов, но когда речь про боевые сценарии - вебхуки, интеграции с вашими базами, работа с чувствительными данными, - тут нужен контроль. На своём сервере вы сами решаете, какие версии ставить, как обновляться, сколько хранить логи. Плюс это дешевле, если автоматизаций много.
Цены на VPS сейчас демократичные. Нормальный VPS на 2-4 ГБ RAM тянет n8n без проблем. У меня знакомые держат на самом дешёвом тарифе у российских провайдеров - работает. Главное, чтобы Docker влез.
Шаг 1. Выбор хостинга и параметры сервера
Я перепробовал несколько хостингов: xorex, hostvds, beget, sprintbox. Первые три работают стабильно, четвертый не советую. Выбирайте локацию: если сервер в РФ, то и n8n будет в РФ, что важно для работы с российскими сервисами и банками. Если нужна зарубежная локация - берите Нидерланды или Германию. На Reddit практикующие администраторы советуют сразу брать VPS с 4 ГБ RAM, чтобы потом не мучиться с переносом.
Минимум по железу: 2 vCPU, 2 ГБ RAM, 20 ГБ SSD. Этого хватит и для n8n, и для Nginx, и для базы данных SQLite, которая идёт по умолчанию. Если планируете тяжёлые сценарии с кучей параллельных выполнений - добавьте ещё 2 ГБ.
Шаг 2. Установка Docker и вспомогательных инструментов
Большинство инструкций предлагают ставить Docker прямо на голую систему. Это работает, но я рекомендую сразу поставить Portainer - визуальную панель для управления контейнерами. С ней и деплой проще, и конфиги удобно редактировать: заходишь в браузер - и все контейнеры как на ладони.
На свежем Ubuntu 22.04 команды будут такими:
apt update && apt upgrade -y
apt install docker.io docker-compose -y
curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
docker stack deploy -c portainer-agent-stack.yml portainer
После этого Portainer будет на порту 9000. Заходите, задаёте пароль админа, выбираете Docker Standalone. Всё, дальше можно работать через веб-интерфейс, а контейнеры n8n поднимать как стек.
Шаг 3. Разворачиваем n8n через Docker Compose
Теперь самое интересное. В Portainer заходим в Stacks - Add stack, задаём имя, например n8n, и вставляем вот такой конфиг:
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
container_name: n8n
ports:
- "5678:5678"
dns:
- 8.8.8.8
- 1.1.1.1
environment:
- NODE_ENV=production
- N8N_PROTOCOL=https
- N8N_HOST=n8n.domain.net
- WEBHOOK_URL=https://n8n.domain.net/
- EXECUTIONS_DATA_PRUNE=true
- EXECUTIONS_DATA_MAX_AGE=168
volumes:
- n8n_data:/home/node/.n8n
restart: unless-stopped
volumes:
n8n_data:
Замените n8n.domain.net на ваш реальный домен или поддомен. Если домена пока нет, можно использовать IP, но без HTTPS вебхуки в Telegram и другие сервисы работать не будут. Лучше сразу привязать домен.
Переменные N8N_PROTOCOL, N8N_HOST и WEBHOOK_URL критически важны. Без них n8n не поймёт, через какой адрес он доступен, и будет генерировать ссылки на localhost:5678. Это классическая ошибка новичков.
Шаг 4. Настраиваем Nginx и SSL
Чтобы n8n был доступен по 443 порту с HTTPS и не светился лишними портами, нужен Nginx. Можно поднять и через Portainer, но я привык к Nginx Proxy Manager - у него есть понятный веб-интерфейс для управления прокси.
Разворачиваем Nginx Proxy Manager аналогичным образом. Затем добавляем Proxy Host для вашего поддомена n8n.domain.net, указываем Forward hostname (это IP вашего сервера) и Forward port 5678. В секции SSL просим новый сертификат Let's Encrypt, включаем Force SSL. Остальные тогглы - off. Сохраняем.
Через пару минут всё поднимется. Заходите на https://n8n.domain.net - и видите мастер первичной настройки. Создаёте учётку владельца, входите. Готово.
Не забывайте добавлять Proxy Host для каждого поддомена, который хотите проксировать. Доступ к панели NPM (если нужен) - порт 81.
Альтернатива для лёгких сценариев: установка через npm
Допустим, вы не хотите городить Docker и панели. n8n можно поставить прямо на хост через npm. Это проще для одиночных пользователей или машин разработчиков. Но ответственность за зависимости и изоляцию ложится на вас.
Сначала ставим Node.js через nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install --lts
nvm use --lts
Затем сам n8n:
npm install -g n8n
n8n start
По умолчанию он слушает порт 5678. Если он занят, задайте другой:
export N8N_PORT=5679
n8n start
Для фоновой работы используйте pm2:
npm install -g pm2
pm2 start "n8n" --name n8n
pm2 save
Плюс такого способа - ничего лишнего, вся система в одном месте. Минус - если упадёт сервер, придётся самому настраивать автозапуск, следить за памятью, обновлением Node.js. Для серьёзного продакшена я бы выбрал Docker.
Типичные ошибки и как их избежать
Ошибка 1. Не перезапустили терминал после установки nvm, и появилась ошибка "n8n: command not found". Решение - перезапустите shell или добавьте путь к глобальному bin из nvm в PATH.
Ошибка 2. Забыли указать N8N_HOST. Из-за этого вебхуки ссылаются на localhost. Указывайте домен, по которому реально обращаетесь к n8n.
Ошибка 3. Слабое железо. n8n не любит, когда ОЗУ меньше 1 ГБ. Под данные тоже нужен запас. Проверяйте, что не забит диск.
Ошибка 4. Не открыли порт 5678 в файрволе или наоборот оставили его открытым всем. Для вебхуков пробейте только порты 80/443 через Nginx, а сам порт 5678 закройте от внешнего мира.
Что дальше: автоматизация и ИИ
Свой n8n - это уже половина дела. Вторая половина - наполнить его рабочими сценариями. Сейчас многие используют n8n для интеграций с нейросетями: генерация текстов, обработка изображений, анализ данных. Здесь есть подводный камень: доступ к иностранным API из России часто ограничен, а привязать иностранную карту - тем ещё квест.
Лично я многое перепробовал и остановился на сервисе 3GPT от 3SELLER. Он даёт доступ ко всем флагманским моделям - Chat GPT 6 Astra, Claude Fable 5, Claude Opus 5.5 и другим - без иностранных карт. Оплата российской картой, через СБП или криптой, всего от 149 рублей. Это роутер, который подключается как обычный API endpoint, так что в n8n достаточно прописать нужные креды и работать.
Кстати, у 3GPT есть и готовые ИИ-агенты на разные задачи. Выбираете нужного, общаетесь, модель можно менять прямо в чате. Удобно для прототипирования, прежде чем строить свою автоматизацию.
Так что развернуть n8n - только старт. Дальше вы сами решаете, какой ИИ подключить. Я бы советовал попробовать разные модели и выбрать под свои задачи. Например, для генерации текстов Claude Opus 5.5, для кода - Chat GPT 6, а для картинок Nano Banana. Всё это доступно через 3GPT.
Получить доступ ко всем флагманским моделям нейросетей из России можно на официальном сайте 3GPT - https://3seller.com/3gpt. Сервис работает, не требует карт и VPN.
Следующий шаг
Начните с простого домашнего задания: разверните n8n по этой инструкции и создайте workflow, который каждое утро будет присылать сводку погоды в Telegram. Когда упрётесь в ограничения бесплатных сервисов, подключите через 3GPT любую флагманскую модель - от Chat GPT 6 до Claude Opus 5.5. Так за один вечер вы получите не просто инструмент, а личного цифрового ассистента, который работает 24/7.