Готовый кейс

n8n + PostgreSQL в Docker Compose

Кейс о n8n с отдельной базой PostgreSQL в Docker Compose на домашнем сервере за туннелем. Конфиги, установка с нуля, резервная копия с проверкой восстановления и исправление двух найденных проблем.

Обложка кейса Net Admin Pro: n8n + PostgreSQL в Docker Compose
Формат
PDF RU + EN
Файлы
Конфиги и команды
Стек
n8n 2.25.6 · PostgreSQL 16
Сервер
Debian 13, Docker 29.5.3, Compose v5.1.4

Что внутри

  • Схема стека и разбор ключевых решений: закреплённая версия образа, порт n8n только на localhost, ожидание готовности базы, явный ключ шифрования учётных данных, секреты в .env.
  • Установка стека с нуля: полный docker-compose.yml, образец .env, запуск и проверка.
  • Резервная копия базы перед изменениями и проверка, что дамп восстанавливается, во временном контейнере.
  • Две проблемы, найденные в рабочей конфигурации: образ на теге latest и порт n8n, открытый для всей локальной сети. Как они исправлены и что показали проверки до и после.
  • Что значат строки в логе n8n, которые выглядят как ошибки.
  • Чек-лист повторения.

В тексте отмечено, что проверено на работающем сервере, а что нет.

Что в архиве

  • PDF на русском и английском;
  • docker-compose.yml;
  • env.example;
  • commands.txt – все команды из текста по разделам.

Для кого

  • Для тех, кто держит n8n на своём сервере в Docker или собирается это сделать.
  • Нужно заранее: сервер с Docker и Docker Compose, пользователь в группе docker, python3; для доступа из интернета – работающий туннель и домен.

Что не входит

  • Установка Debian и Docker.
  • Настройка туннеля Cloudflare и файрвола.
  • Ежедневный бэкап всего сервера.
  • Готовые сценарии n8n.
  • Обновление версии n8n описано, но не проверялось на сервере и помечено в тексте как непроверенное.

Состав кейса

  1. Схема и решения

    Схема стека и шесть ключевых решений: закреплённая версия образа, порт только на localhost, ожидание готовности базы, явный ключ шифрования, политика перезапуска и секреты в .env.

  2. Установка с нуля

    Каталог стека, полный docker-compose.yml, .env с правами 600, запуск и проверка ответа n8n изнутри контейнера.

  3. Резервная копия

    Дамп базы через pg_dump с set -o pipefail, проверкой архива gzip -t и правами 600.

  4. Проверка восстановления

    Восстановление дампа во временный контейнер PostgreSQL и сверка числа таблиц с рабочей базой.

  5. Закрепление версии и порта

    Переход с тега latest на 2.25.6 и публикация порта n8n только на 127.0.0.1 на работающем стеке.

  6. Проверка до и после

    Шесть команд, которыми снято состояние стека до и после изменения, и таблица с результатами.

  7. Чек-лист

    Пункты для установки, проверки доступа и подготовки к любому изменению стека.