- Ubuntu Server 24.04 LTS · Docker Engine + Compose
- n8n 2.32.6 — закреплённый официальный образ
- Единственный экземпляр, стандартный режим, без Redis
- Внешний PostgreSQL — зашифрованное соединение, надёжная аутентификация
- Удалённый API Ollama, используемый проверенным workflow
- Интерфейс опубликован по HTTPS через общий обратный прокси
- Устойчивость данных подтверждена после пересоздания контейнера и перезапуска
- Прикладной порт остаётся во внутренней сети, публичный интерфейс открыт только по HTTPS
- Системная фильтрация + контролируемая публикация Docker
- Секреты и ключ шифрования вне Compose и вне Git
- Закреплённый прикладной образ
- Выделенные база данных PostgreSQL и роль, зашифрованное соединение
- Нет прямого перенаправления из Интернета на VM300
- Публичное происхождение, защищённые cookie, доверие ограничено обратным прокси
- Инспекция workflow и используемых типов узлов
VM300
├── Ubuntu Server
├── Docker Engine
├── Docker Compose
└── conteneur n8n
├── moteur de workflows
├── interface d'administration
├── appels vers les services autorisés
└── données binaires locales nécessairesn8n намеренно работает в одноэкземплярном режиме: Redis и режим queue не добавляются, пока не будет доказана потребность в параллелизме или высокой доступности — это уменьшает число обслуживаемых компонентов.
Внешние компоненты
- База данных, выделенная для приложения
- Отдельная прикладная роль, права ограничены необходимым минимумом
- Зашифрованное соединение · целевая сетевая фильтрация
- Пересоздание n8n не удаляет ни учётные записи, ни workflow (данные хранятся вне контейнера)
- ИИ-вычисления вынесены на GPU-узел
- VM300 обращается к разрешённому API Ollama, без GPU и без копии модели
- Проверенный workflow: подготовка запроса → HTTP-вызов → ответ модели → нормализация вывода
Редактор опубликован по HTTPS по адресу n8n.stephanemuraro.fr (аутентифицированный административный интерфейс и URL webhook, генерируемые самим экземпляром), за обратным прокси VM200. Прикладной порт VM300 не открыт напрямую: каждый публичный запрос проходит через VM200, которая завершает HTTPS, выбирает сервис по запрошенному имени и перенаправляет только предусмотренные маршруты. Дальнейшее разделение под выделенным именем для webhook остаётся возможным, если подтвердится потребность в более строгой открытости.
Utilisateur ou service externe
↓ HTTPS
Nom DNS public
↓
Routeur Internet
↓ trafic Web uniquement
VM200 — reverse proxy (terminaison TLS · sélection par nom · routes autorisées)
↓ flux interne autorisé
VM300 — n8n
↓
PostgreSQL ou API IA selon le workflowTrigger : Webhook → Nœud HTTP : préparation de la requête → Nœud HTTP : appel API Ollama (LLM local sur la VM GPU) → Nœud Function : normalisation de la réponse pour les étapes suivantes → Réponse : JSON structuré
- Воспроизводимое развёртывание через Docker Compose
- Разделение приложения, данных и GPU-вычислений
- Зашифрованная интеграция PostgreSQL по принципу наименьших привилегий
- Контролируемое использование удалённого API LLM
- Проектирование устойчивых workflow
- Подготовка публикации по HTTPS за обратным прокси
- Управление секретами и снижение поверхности открытости
- Будущее разделение между редактором и webhook (выделенное имя) ещё предстоит решить.
- Полная процедура резервного копирования и восстановления ещё не формализована.
- Окончательное усиление защиты администрирования SSH остаётся открытым вопросом.
- Автоматизированный аудит (сбой загрузки, компенсированный ручной проверкой) будет повторён после исправления n8n.
- Режим queue будет рассмотрен только при подтверждённой измеримой потребности.