MAATRIX / Блог / N8n на Ubuntu 24.04: пошаговая установка

N8n на Ubuntu 24.04: пошаговая установка

N8n на Ubuntu 24.04: пошаговая установка

MAATRIX

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 — десятки моделей в одном окне. Оплата картой РФ и по СБП.