Самостоятельный хостинг n8n с Docker Compose: полное руководство для немецких серверов

Как установить n8n с помощью Docker Compose: Postgres вместо SQLite, .env, тома и обновления шаг за шагом.

n8n можно установить на собственном сервере с помощью Docker Compose за несколько шагов: вы создаете compose-файл и файл .env с учетными данными, определяете том для постоянных данных и запускаете стек одной командой. Для продуктивного использования большинство операторов переходят со встроенной базы данных SQLite на PostgreSQL, потому что несколько одновременно выполняемых workflow и регулярные резервные копии благодаря этому работают надежнее. В этой статье показана структура compose-файла, необходимые переменные окружения, тома и процесс обновления. По состоянию на: июль 2026.

Как установить n8n с помощью Docker Compose?

Установка выполняется через файл compose.yaml, который запускает контейнер n8n, в сочетании с файлом .env для специфичных для сервера значений. На Linux-сервере сначала проверьте, установлены ли Docker и Docker Compose, например, с помощью команд docker --version и docker compose version. Затем создайте каталог проекта с compose.yaml, файлом .env и подпапкой local-files для обмена файлами между n8n и хостом. Запуск выполняется командой docker compose up -d, после чего n8n доступен через настроенный домен или, при простой установке с одним контейнером без reverse proxy, по адресу http://localhost:5678. Официальная документация n8n предоставляет для этого готовую настройку с Docker Compose, которая дополнительно включает Traefik в качестве reverse proxy для TLS-сертификатов.

SQLite или PostgreSQL: какая база данных подходит?

По умолчанию n8n использует SQLite и сохраняет учетные данные, workflow и историю выполнения без дополнительной настройки в файле database.sqlite в каталоге .n8n. Для перехода на PostgreSQL задайте соответствующие переменные окружения в compose-файле, как описано в документации по выбору базы данных.

  • DB_TYPE: установить в postgresdb, чтобы заменить SQLite
  • DB_POSTGRESDB_HOST и DB_POSTGRESDB_PORT: адрес и порт сервера Postgres
  • DB_POSTGRESDB_DATABASE: имя базы данных, значение по умолчанию n8n
  • DB_POSTGRESDB_USER и DB_POSTGRESDB_PASSWORD: учетные данные для базы данных
  • DB_POSTGRESDB_SCHEMA: схема внутри базы данных, значение по умолчанию public

Важно: даже при использовании PostgreSQL том для каталога /home/node/.n8n остается необходимым, так как там по-прежнему хранится ключ шифрования учетных данных.

Что должно быть в файле .env?

Файл .env объединяет все значения, которые отличаются от сервера к серверу, чтобы сам compose.yaml оставался неизменным. Согласно официальному руководству по установке через Docker, туда должны входить как минимум следующие переменные.

  • DOMAIN_NAME и SUBDOMAIN: вместе определяют адрес, по которому доступен n8n, например n8n.primer.ru
  • GENERIC_TIMEZONE и TZ: управляют часовым поясом для узлов расписания и системных команд
  • SSL_EMAIL: контактный адрес для автоматического выпуска сертификатов через Traefik
  • N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: должно быть установлено в true, чтобы защитить права доступа к конфигурационным файлам

Поскольку этот файл содержит пароли и учетные данные, ему не место в публичном Git-репозитории.

Какие тома и каталоги нужны n8n?

Для постоянной работы важны несколько мест хранения, которые должны сохраняться при каждом перезапуске.

  • n8n_data: смонтирован в /home/node/.n8n, содержит базу данных SQLite, если она используется, а также ключ шифрования
  • traefik_data: хранит TLS-сертификаты, если вы используете встроенный reverse proxy
  • local-files: локальный каталог на хосте для обмена файлами, подключаемый через переменную N8N_RESTRICT_FILE_ACCESS_TO

Без этих томов workflow, учетные данные и сертификаты теряются при каждой пересборке контейнера.

Как обновить n8n с помощью Docker Compose?

Обновление выполняется с помощью трех команд в каталоге с compose-файлом: docker compose pull загружает новую версию образа, docker compose down останавливает работающий стек, а docker compose up -d перезапускает его с актуальным образом. Тома при этом не затрагиваются, поэтому workflow и учетные данные сохраняются. Тем, кто хочет зафиксировать определенную версию вместо автоматического обновления до последней стабильной версии, можно указать в compose.yaml конкретный тег версии, согласно документации, например docker.n8n.io/n8nio/n8n:1.81.0, вместо тега next для нестабильных бета-версий. Тем, кто хочет чистую конфигурацию с самого начала, лучше один раз тщательно спланировать, чем позже устранять проблемы сервера. Именно этим занимается NordFlux в рамках настройки n8n за фиксированную цену, включая выбор между SQLite и PostgreSQL в соответствии с реальным использованием.

Часто задаваемые вопросы о n8n Docker Compose

Нужен ли мне собственный домен для работы n8n с Docker Compose?

Нет, это не обязательно. Для простой установки с одним контейнером достаточно смонтированного тома и порта 5678, n8n тогда доступен локально по адресу http://localhost:5678. Домен становится необходим только если вы хотите использовать описанную в официальном руководстве конфигурацию с Traefik в качестве reverse proxy и автоматическим TLS-сертификатом.

Где n8n хранит мои учетные данные и workflow?

Все находится в смонтированном томе, который указывает на каталог /home/node/.n8n в контейнере. Там находится файл базы данных при использовании SQLite, а также, независимо от выбора базы данных, ключ шифрования для сохраненных учетных данных. Без этого тома все данные будут потеряны при следующем перезапуске контейнера.

Как обновить n8n без потери данных?

Последовательность docker compose pull, docker compose down и docker compose up -d обновляет образ, не затрагивая тома. Поскольку workflow, учетные данные и база данных находятся в томах, они сохраняются при обновлении. Перед крупными скачками версий все же стоит заглянуть в примечания к выпуску, так как переменные окружения могут меняться между версиями.

Могу ли я выбирать между фиксированной версией n8n и бета-версией?

Да, образы Docker публикуются с разными тегами. Конкретный тег версии, например 1.81.0, фиксирует стабильную версию, тогда как тег next предоставляет нестабильную бета-версию для тех, кто хочет заранее протестировать новые функции. Для продуктивных серверов зафиксированный тег версии является более надежным выбором.

О NordFlux

NordFlux UG (haftungsbeschränkt)

NordFlux создаёт цифровых сотрудников для организаций: автоматизации и КИ-агентов, которые берут на себя повторяющуюся работу. Вы сохраняете контроль.

Больше о нас
Бесплатный первичный анализ

Конкретные вопросы по автоматизации или КИ?

В рамках бесплатного первичного анализа мы напрямую обсудим Ваш случай. Без обязательств.