VM300 es una máquina virtual de aplicación dedicada a n8n: ejecuta los workflows de automatización, delega la persistencia a una VM de servicios (PostgreSQL) y consume las API de IA de una VM GPU independiente. Esta separación de aplicación / datos / cómputo permite que cada componente evolucione, se mantenga y se respalde según su propio ciclo de vida.
✅ Estado desplegado
  • 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
🔒 Seguridad del estado actual
  • 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
🧱 Arquitectura interna (VM300)
aislamiento Docker · despliegue reproducible (Compose)
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écessaires

n8n 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

🗄️ PostgreSQL (VM de servicios)
  • 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)
🧠 Ollama (VM GPU)
  • 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
🌐 Publicación activa en Internet

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.

recorrido de una solicitud pública
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 workflow
n8n conoce su origen HTTPS público, confía en el proxy esperado y utiliza cookies seguras. La autenticación, el editor, la ejecución de un workflow, la reconexión y la persistencia se han validado desde Internet (red externa).
🔄 Ejemplo — workflow de n8n hacia la IA
workflow (ilustrativo)
Trigger : 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é
🎯 Competencias aplicadas
  • 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
Límites y trabajos abiertos:

Páginas relacionadas

Referencias y fuentes

CategoríaRecursoURL
Documentación oficialn8n — Documentationdocs.n8n.io
Documentación oficialPostgreSQL — Documentationpostgresql.org/docs
Versión desplegadan8n 2.32.6 · Ubuntu Server 24.04 LTS · VM300 (Docker)—
Licencian8n — Sustainable Use License (fair-code) · PostgreSQL — PostgreSQL Licensedocs.n8n.io — licence
Contenido de esta páginaCompartido bajo CC BY-SA 4.0creativecommons.org/licenses/by-sa/4.0