- Ubuntu Server 24.04 LTS · Docker Engine + Compose
- n8n 2.32.6 — imagen oficial fijada
- Instancia única, modo estándar, sin Redis
- PostgreSQL externo — conexión cifrada, autenticación fuerte
- API remota de Ollama consumida por un workflow validado
- Interfaz publicada por HTTPS mediante el proxy inverso compartido
- Persistencia verificada tras recrear el contenedor y reiniciar
- Puerto de la aplicación mantenido en la red interna, interfaz pública expuesta solo por HTTPS
- Filtrado a nivel de sistema + publicación Docker controlada
- Secretos y clave de cifrado fuera de Compose y fuera de Git
- Imagen de la aplicación fijada
- Base de datos y rol de PostgreSQL dedicados, enlace cifrado
- Sin redirección directa desde Internet hacia VM300
- Origen público, cookies seguras, confianza limitada al proxy inverso
- Inspección de los workflows y de los tipos de nodos utilizados
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 funciona deliberadamente en instancia única: Redis y el modo queue no se añaden hasta que se demuestre una necesidad de paralelismo o alta disponibilidad — lo que reduce el número de componentes a operar.
Componentes externos
- Base de datos reservada a la aplicación
- Rol de aplicación independiente, con permisos limitados a lo necesario
- Conexión cifrada · filtrado de red específico
- Recrear n8n no elimina ni cuentas ni workflows (los datos están fuera del contenedor)
- Cálculos de IA trasladados al nodo GPU
- VM300 llama a una API de Ollama autorizada, sin GPU ni copia del modelo
- Workflow validado: preparación de la solicitud → llamada HTTP → respuesta del modelo → normalización de la salida
El editor está publicado por HTTPS en n8n.stephanemuraro.fr (interfaz de administración autenticada y URLs de webhook generadas por la instancia), detrás del proxy inverso VM200. El puerto de aplicación de VM300 no está expuesto directamente: toda solicitud pública pasa por VM200, que termina HTTPS, selecciona el servicio por el nombre solicitado y solo reenvía las rutas previstas. Una separación posterior bajo un nombre dedicado a los webhooks sigue siendo posible si se confirma la necesidad de una exposición más restrictiva.
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é
- Despliegue reproducible con Docker Compose
- Separación de aplicación / datos / cómputo GPU
- Integración cifrada de PostgreSQL, mínimo privilegio
- Consumo controlado de una API LLM remota
- Diseño de workflows persistentes
- Preparación de una publicación HTTPS detrás de un proxy inverso
- Gestión de secretos y reducción de la superficie de exposición
- Aún queda por decidir una futura separación entre el editor y los webhooks (nombre dedicado).
- El procedimiento completo de copia de seguridad y restauración aún debe formalizarse.
- El endurecimiento final de la administración SSH sigue abierto.
- La auditoría automatizada (anomalía de carga, compensada con una verificación manual) se repetirá tras una corrección de n8n.
- El modo queue solo se estudiará si surge una necesidad medida.