N8n на Ubuntu 24.04: пошаговая установка
n8n — открытая платформа автоматизации, которая связывает сервисы в рабочие сценарии без программирования. Установка n8n на Ubuntu 24.04 проходит гладко: свежий LTS даёт актуальные пакеты и долгую поддержку, а Docker избавляет от возни с версиями Node.js. Разберём весь путь по шагам — от подготовки чистой системы до автозапуска, HTTPS и резервных копий, чтобы получить не тестовую поделку, а рабочий инструмент.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Почему Ubuntu 24.04 и Docker
Ubuntu 24.04 — актуальный релиз с длительной поддержкой, и для серверного ПО это важно: обновления безопасности будут выходить годами, а пакеты достаточно свежие для современного стека. n8n на такой системе чувствует себя отлично и не требует ухищрений с устаревшими зависимостями.
Ставить n8n можно двумя путями: нативно через Node.js или в контейнере Docker. Первый путь тянет за собой установку конкретной версии Node, менеджера процессов и ручное обновление — на этом легко споткнуться. Второй, через Docker, изолирует n8n в контейнере: нужная среда уже внутри образа, обновление сводится к смене версии, а данные лежат в отдельном томе. Для абсолютного большинства случаев Docker проще и надёжнее, поэтому дальше идём именно этим путём.
По ресурсам n8n скромен. Для личных и небольших командных сценариев достаточно одного-двух ядер и 2 ГБ памяти. Больше нужно лишь при частых тяжёлых сценариях с обработкой крупных объёмов данных. У MAATRIX подходящий VPS на Ubuntu 24.04 оплачивается из России картой, по СБП, криптой или токеном MAAT, а локацию можно выбрать под задачу: US для связки с зарубежными API, RU для минимального пинга к российским сервисам.
Стоит заранее понимать, зачем вообще держать n8n на своём сервере, а не пользоваться готовыми облачными связками. Причин три, и все практические. Приватность: через n8n проходят токены доступа к почте, CRM, платёжным и другим сервисам, и держать их на своей машине спокойнее, чем в чужом облаке. Свобода от лимитов: облачные тарифы ограничивают число выполнений и активных сценариев, а на своём сервере вы запускаете сколько угодно. Контроль: вы сами решаете, когда обновляться и сколько ресурсов выделить. Для российских пользователей добавляется и стабильность — собственный VPS не зависит от того, принимает ли зарубежный сервис карту российского банка. Именно поэтому команды, переросшие бесплатные тарифы облачных автоматизаций, разворачивают n8n самостоятельно.
Шаг 1. Подготовка чистой системы
Начните с обновления свежей системы и установки базовых утилит. Заодно сразу закройте периметр фаерволом, оставив только SSH и веб-порты:
apt update && apt upgrade -y
ufw allow 22/tcp && ufw allow 80,443/tcp && ufw enable
Позаботьтесь о базовой безопасности до установки сервисов: вход по SSH-ключу вместо пароля, закрытый фаервол. n8n будет хранить токены доступа к вашим сервисам, поэтому сервер под ним должен быть защищён с самого начала, а не «когда-нибудь потом». Заведите домен и направьте его A-запись на IP сервера — он понадобится для HTTPS и корректной работы веб-хуков.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSШаг 2. Установка Docker
Поставьте Docker и плагин Compose официальным скриптом — на Ubuntu 24.04 он отрабатывает без нареканий:
curl -fsSL https://get.docker.com | sh
docker compose version
Вывод версии Compose подтверждает, что всё встало. Docker будет и запускать контейнер n8n, и держать его поднятым после перезагрузок. Держать сервис в контейнере удобно тем, что вся конфигурация окружения зафиксирована в образе: вы не подстраиваете систему под n8n, а просто запускаете готовый образ. Это делает установку повторяемой — при переезде на другой сервер достаточно перенести конфиг и том с данными.
Шаг 3. Compose-файл с правильными переменными
Создайте отдельный каталог под проект и файл docker-compose.yml. Ключевой момент — переменные окружения, задающие домен и протокол. Если их не задать, n8n сформирует ссылки на веб-хуки неверно, и внешние сервисы не смогут до них достучаться:
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "127.0.0.1:5678:5678"
environment:
- N8N_HOST=n8n.example.com
- N8N_PROTOCOL=https
- WEBHOOK_URL=https://n8n.example.com/
- GENERIC_TIMEZONE=Europe/Moscow
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
Порт проброшен только на локальный адрес 127.0.0.1 — наружу n8n будет смотреть через реверс-прокси с шифрованием, а не напрямую. Том n8n_data хранит все сценарии и учётные данные, поэтому его нельзя терять при обновлениях. Часовой пояс в переменной GENERIC_TIMEZONE важен для корректной работы сценариев по расписанию.
Шаг 4. HTTPS через реверс-прокси
Выставлять n8n в интернет без шифрования нельзя — через него ходят чувствительные токены. Поставьте перед контейнером реверс-прокси, который возьмёт HTTPS на себя. Caddy делает это проще всего, автоматически получая и продлевая сертификат. Минимальный конфиг:
n8n.example.com {
reverse_proxy 127.0.0.1:5678
}
Caddy сам выпустит сертификат для домена и будет проксировать запросы на локальный порт n8n. Если предпочитаете Nginx, схема та же: серверный блок с доменом, проброс на локальный порт и сертификат от certbot. Наружу при этом торчит только прокси на 443, а сам n8n остаётся доступен исключительно с локального адреса. Так вы одновременно получаете шифрование и закрываете панель управления от прямого доступа из интернета.
Шаг 5. Запуск и первый вход
Когда конфигурация готова и DNS-запись домена распространилась, поднимите стек и загляните в логи:
docker compose up -d
docker compose logs -f n8n
Логи покажут, что n8n стартовал и слушает порт. Откройте домен в браузере — при первом входе n8n предложит создать учётную запись владельца. Задайте надёжный пароль: это единственная преграда между интернетом и вашими сценариями с токенами. После входа вы окажетесь в визуальном редакторе, где сценарии собираются из узлов-блоков. Сразу проверьте веб-хуки: создайте простой сценарий с триггером-веб-хуком и убедитесь, что внешний запрос до него доходит по HTTPS. Успешный ответ означает, что домен, прокси и переменные согласованы.
Шаг 6. Автозапуск, обновления и бэкап
Параметр restart: always в compose уже обеспечивает автоматический подъём контейнера после перезагрузки сервера — отдельный systemd-юнит не нужен. Проверьте это, перезагрузив сервер и убедившись, что n8n поднялся сам. Обновление n8n сводится к скачиванию свежего образа и пересозданию контейнера, данные при этом сохраняются в томе:
docker compose pull && docker compose up -d
Обязательно настройте резервное копирование тома с данными — там лежат все сценарии и учётные записи. Достаточно периодически архивировать содержимое тома и складывать копию за пределы сервера, тогда любое неудачное обновление откатывается за минуты. Следите за памятью: если сценариев становится много и они тяжелеют, рост потребления — честный сигнал перейти на тариф помощнее, а не терпеть падения. Такой набор из HTTPS, автозапуска и бэкапов превращает n8n на Ubuntu 24.04 в надёжный рабочий инструмент, который переживёт и обновления, и перезагрузки.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Ставить n8n нативно или в Docker?
На Ubuntu 24.04 проще и надёжнее Docker: нужная среда уже в образе, обновление — смена версии, а данные хранятся в отдельном томе. Нативная установка тянет ручную возню с Node.js.
Сколько ресурсов нужно?
Для личных и небольших командных сценариев достаточно 1–2 ядер и 2 ГБ памяти. Тяжёлым сценариям с большими данными нужна конфигурация помощнее.
Обязателен ли домен и HTTPS?
Да. Через n8n проходят токены доступа, поэтому наружу его выставляют только за реверс-прокси с сертификатом, а сам контейнер держат на локальном порту.
Как обновлять без потери сценариев?
Данные лежат в томе Docker. Обновление — это docker compose pull и пересоздание контейнера; сценарии сохраняются. Дополнительно держите бэкап тома вне сервера.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.