tva
← Insights

Docker multiinquilino sin un destino compartido accidental

Un seguimiento actualizado y orientado a producción que convierte la documentación de los proveedores en controles operativos, decisiones de migración y criterios de despliegue verificables.

Qué ha cambiado en 2026

Retomamos este tema porque los límites operativos han cambiado. Los principios duraderos siguen siendo útiles, pero las versiones actuales hacen que algunos atajos anteriores sean incompletos o arriesgados. Este seguimiento parte de la documentación oficial disponible el 14 de julio de 2026, separa los hechos de las decisiones locales y trata cada cambio de configuración como una intervención controlada en producción.

Fuentes primarias actuales

Cómo utilizar esta actualización

Primero consultamos las fuentes primarias, registramos las versiones realmente desplegadas y definimos el resultado observable antes de modificar un ajuste. La intervención reversible más pequeña se prueba en un entorno representativo. Un comando ejecutado con éxito no es un criterio de aceptación: sí lo son la salud del servicio, la integridad de los datos, la latencia, los límites de seguridad y el tiempo de reversión. La secuencia de diagnóstico del artículo anterior que aún resulta útil se conserva como base operativa; los ejemplos dependientes de una versión deben contrastarse con la documentación vigente.

Base operativa

Cómo crear un entorno de desarrollo multi-tenant basado en plantillas con 16 servicios contenerizados que funciona sin conexión y permanece accesible en línea a través de enrutamiento basado en subdominios

Gestionar entornos de desarrollo para múltiples clientes a menudo significa elegir entre configuraciones manuales complejas o soluciones en la nube costosas. Los despliegues manuales consumen tiempo y son propensos a errores. Las plataformas en la nube son convenientes pero crean dependencia de proveedores y costos continuos que escalan con el uso.

Hoy recorreremos la construcción de un stack de desarrollo multi-tenant escalable que te ofrece ambas cosas: aislamiento completo entre entornos de clientes con capacidades de despliegue automatizado, todo mientras mantienes el control total sobre tu infraestructura. Este enfoque se basa en nuestra filosofía de soluciones autoalojadas—similar a cómo hemos demostrado que puedes autoalojar n8n para automatización de flujos de trabajo y desplegar Windmill con Docker para un control operativo completo.

Las Herramientas que Utilizamos

Comencemos por entender qué hace cada pieza en nuestra arquitectura integral de 16 contenedores:

Docker: Tu Base de Contenerización

Docker proporciona el aislamiento y la consistencia que necesitamos para entornos multi-tenant. Cada cliente obtiene sus propios contenedores con configuraciones idénticas, asegurando que lo que funciona en desarrollo funcionará en producción. Piénsalo como tener múltiples servidores completamente separados ejecutándose en el mismo hardware.

¿La ventaja clave? Aislamiento perfecto entre clientes. Los datos, configuraciones y personalizaciones de un cliente nunca interfieren con los de otro. Esto importa cuando manejas múltiples clientes empresariales con diferentes requisitos y necesidades de seguridad.

Traefik: Proxy Inverso y Balanceador de Carga Inteligente

Traefik actúa como un director de tráfico inteligente, enrutando automáticamente las solicitudes al entorno de cliente correcto según los nombres de dominio. En lugar de configurar manualmente reglas complejas de Apache o Nginx, Traefik lee las etiquetas de tus contenedores Docker y configura el enrutamiento automáticamente.

Piensa en Traefik como un recepcionista inteligente que sabe exactamente a qué oficina (contenedor) debe ir cada visitante (solicitud), sin que tengas que dar indicaciones cada vez. En nuestra configuración, Traefik maneja la terminación SSL, el descubrimiento automático de servicios y proporciona paneles de monitoreo detallados.

Cloudflare Tunnels: Acceso Externo Seguro

Cloudflare Tunnels proporciona acceso seguro a tu stack de desarrollo local sin configuraciones complejas de firewall o VPN. Cada dominio de cliente obtiene su propio túnel, asegurando una separación completa a nivel de red mientras mantiene seguridad de nivel empresarial.

Lo mejor es que tus entornos de desarrollo permanecen locales y seguros, pero los clientes pueden acceder a sus servicios específicos desde cualquier lugar con la autenticación adecuada—similar a cómo configuramos el acceso externo seguro en nuestra guía de alojamiento de n8n.

El Stack Completo de Servicios: Todo lo que Tus Clientes Necesitan

Nuestro stack multi-tenant incluye siete categorías principales de servicios en 16 contenedores por cliente:

Automatización de Flujos de Trabajo y Lógica de Negocio:

  • n8n: Plataforma completa de automatización de flujos de trabajo para la automatización de procesos empresariales
  • Authentik: Inicio de sesión único y gestión de identidad de nivel empresarial (3 contenedores: servidor, worker, caché Redis)

Servicios de Base de Datos y Backend:

  • PostgreSQL: Backend de base de datos robusto que soporta todos los servicios con agrupamiento de conexiones optimizado
  • Supabase Stack: Backend como servicio completo con 5 contenedores especializados (Studio, Auth, REST API, Realtime, Kong Gateway)
  • NocoDB: Interfaz de base de datos sin código para la gestión de datos de clientes

IA e Inteligencia:

  • Ollama: Modelos de lenguaje de IA local con aceleración GPU para automatización inteligente
  • Qdrant (opcional): Base de datos vectorial para flujos de trabajo de IA avanzados y búsqueda por similitud

Infraestructura y Monitoreo:

  • Cloudflare Tunnel: Conectividad externa segura
  • Traefik: Proxy inverso con SSL automático y panel de monitoreo

Cómo Funciona Todo en Conjunto

Aquí está el flujo completo cuando un cliente accede a su entorno:

  • El cliente navega a su dominio personalizado (por ejemplo, workflows.client-a.com)
  • Cloudflare Tunnel enruta la solicitud a tu instancia local de Traefik
  • Traefik lee el dominio, aplica middleware (autenticación, SSL, limitación de tasa) y reenvía al contenedor de cliente correcto
  • Authentik gestiona la autenticación SSO en todos los servicios si está configurado
  • El cliente obtiene su entorno completamente aislado con sus datos y configuraciones
  • Todos los demás clientes permanecen completamente inafectados e inaccesibles

Todo se mantiene organizado y separado, con cada cliente obteniendo su propia estructura de subdominios como auth.client-a.com, database.client-a.com, backend.client-a.com, etc.

Configurándolo: Los Pasos Prácticos

Preparando la Base

Primero, necesitarás Docker Desktop instalado y una configuración de gestión de dominios. Recomendamos configurar una estructura DNS con comodín para una fácil incorporación de clientes:

Creando el Sistema de Plantillas

La magia ocurre a través de un enfoque basado en plantillas. En lugar de configurar manualmente cada cliente, creamos plantillas que pueden desplegarse instantáneamente con configuraciones específicas del cliente.

Crea la estructura de directorios completa:

Configuración Completa de la Plantilla Multi-Servicio

Crea una plantilla completa de docker-compose.yml con los 16 servicios:

Plantilla de Entorno Completa

Crea .env.template para variables completas específicas del cliente:

Scripts de Inicialización de Base de Datos

Crea la inicialización completa de la base de datos en init/01-create-multiple-databases.sql:

Configuración del Gateway Kong de Supabase

Crea supabase/kong.yml para el enrutamiento del gateway de API:

Script de Despliegue Automatizado

El script de despliegue completo que crea nuevos entornos de cliente en minutos:

Usando Tu Stack Multi-Tenant

Desplegando Nuevos Clientes

Crear un nuevo entorno de cliente se vuelve trivial con nuestro script completo:

Cada despliegue crea:

  • Red Docker completamente aislada con 16 contenedores
  • Volúmenes de datos separados para almacenamiento persistente
  • Contenedores de servicios únicos con monitoreo de salud
  • Configuración individual de túnel de Cloudflare
  • Enrutamiento de dominio personalizado con certificados SSL
  • Infraestructura SSO de nivel empresarial lista para activación

Gestionando Múltiples Entornos

Monitorea todos los entornos de clientes desde una ubicación central:

Análisis Detallado de la Arquitectura de Contenedores

Nuestra arquitectura completa de 16 contenedores por cliente incluye:

Capa de Infraestructura (4 contenedores):

  • cloudflare-tunnel: Conectividad externa segura
  • traefik: Proxy inverso con SSL automático y descubrimiento de servicios
  • postgres: Base de datos central con agrupamiento de conexiones
  • whoami: Monitoreo de salud y verificación de enrutamiento

Capa de Aplicación (7 contenedores):

  • n8n: Automatización de flujos de trabajo con backend PostgreSQL
  • nocodb: Interfaz de base de datos sin código
  • supabase-studio: Panel de desarrollo backend
  • supabase-meta: Servicio de introspección de base de datos
  • supabase-auth: Autenticación y gestión de usuarios
  • supabase-rest: API REST autogenerada
  • supabase-realtime: Suscripciones y actualizaciones en tiempo real

Capa de IA y Gateway (2 contenedores):

  • ollama: IA local con soporte de aceleración GPU
  • supabase-kong: Gateway de API con limitación de tasa y CORS

Capa de Seguridad Empresarial (3 contenedores):

  • authentik-server: Servidor de autenticación SSO
  • authentik-worker: Tareas en segundo plano y notificaciones
  • authentik-redis: Gestión de sesiones y caché

Escalando Recursos por Cliente

Ajusta los recursos según las necesidades y patrones de uso del cliente:

Beneficios Reales para Tu Negocio

Aislamiento Completo de Clientes con Funciones Empresariales

Cada cliente obtiene su propio universo completo que incluye SSO de nivel empresarial, capacidades de IA e infraestructura backend completa. Los datos, configuraciones, personalizaciones y políticas de seguridad permanecen completamente contenidos. Un problema con un cliente nunca afecta a los demás, similar al aislamiento que logramos con nuestros despliegues individuales de n8n.

Incorporación Rápida de Clientes con Conjunto Completo de Funciones

Los nuevos clientes pueden estar operativos con un stack completo de desarrollo y automatización en menos de 10 minutos. El script de despliegue maneja toda la configuración compleja, la configuración DNS, la inicialización de servicios y la configuración de seguridad automáticamente—mucho más completo que los enfoques tradicionales.

Costos Empresariales Predecibles

Después de la configuración inicial, no hay costos de alojamiento por cliente más allá de tu infraestructura base. A diferencia de las soluciones SaaS que cobran por usuario, por flujo de trabajo o por llamada a API, pagas una vez por el hardware y ejecutas entornos de cliente ilimitados con funciones empresariales completas.

Consistencia de Marca Profesional

Cada cliente obtiene sus propios dominios de marca con subdominios profesionales (workflows.client.com, auth.client.com, etc.) y puede personalizar completamente sus entornos. Sin pies de página "powered by" ni interfaces compartidas que diluyan la identidad de su marca.

La Integración con n8n: Automatización de Flujos de Trabajo Empresariales a Escala

Aquí es donde las cosas se vuelven realmente poderosas. Tal como hemos demostrado cómo autoalojar n8n para automatización de flujos de trabajo, esta configuración multi-tenant proporciona a cada cliente su propia instancia completa de n8n integrada con un stack empresarial completo.

Cada cliente puede construir flujos de trabajo sofisticados que:

  • Se conecten a sus propias bases de datos (NocoDB, PostgreSQL de Supabase)
  • Usen sus propios modelos de IA (Ollama) para automatización inteligente
  • Se autentiquen a través de SSO empresarial (Authentik)
  • Se integren con las herramientas y APIs específicas de su negocio
  • Procesen sus datos con aislamiento y seguridad completos

La combinación crea una potente plataforma de entrega a clientes donde puedes:

  • Desplegar capacidades de automatización estandarizadas rápidamente
  • Personalizar flujos de trabajo por cliente sin afectar a otros
  • Escalar tu entrega de servicios sin aumentos de costos lineales
  • Mantener la soberanía completa de datos para cada cliente
  • Ofrecer seguridad y cumplimiento de nivel empresarial

Este enfoque se basa en los mismos principios que usamos en nuestra guía de configuración Docker de Windmill, pero lo extiende a una arquitectura multi-tenant completa.

Opciones de Configuración Avanzada

Implementando SSO Empresarial con Authentik

Habilita el inicio de sesión único en todos los servicios del cliente configurando la autenticación de reenvío de Authentik:

Luego actualiza las etiquetas de tus servicios para usar el middleware:

Añadiendo Base de Datos Vectorial para IA Avanzada

Mejora las capacidades de IA con la base de datos vectorial Qdrant:

Implementando Arquitectura de IA Híbrida

Para un rendimiento óptimo, considera un enfoque híbrido que combine IA contenerizada y nativa:

Esto proporciona una mejora de rendimiento de 5-6x a través del acceso directo a GPU mientras mantiene el aislamiento de contenedores para otros servicios.

Stack de Monitoreo y Observabilidad

Añade monitoreo completo por cliente:

Problemas Comunes y Soluciones

Errores "Service Unavailable" o HTTP 502

Generalmente significa que Traefik no puede alcanzar el contenedor de destino. Verifica que:

Problemas de Resolución DNS

La configuración DNS con comodín es crucial para el enrutamiento por subdominios:

Agotamiento de Recursos entre Múltiples Clientes

Monitorea el uso de recursos en todos los entornos de clientes:

Agotamiento del Pool de Conexiones de Base de Datos

Los límites de conexiones de PostgreSQL pueden alcanzarse con muchos clientes. Configura por despliegue:

Problemas de Configuración de SSO con Authentik

Problemas comunes de configuración de SSO y soluciones:

Problemas de Conexión del Túnel de Cloudflare

Depura problemas de conectividad del túnel:

Consideraciones de Infraestructura

Dimensionando Tu Infraestructura para Múltiples Clientes

Para una configuración típica que maneja 10-15 clientes simultáneamente con stacks completos de 16 contenedores:

Requisitos Mínimos:

  • CPU: 16-24 núcleos (2 núcleos por entorno de cliente activo)
  • RAM: 64-128GB (4-8GB por cliente dependiendo del uso de IA)
  • Almacenamiento: SSD NVMe con más de 2TB (las bases de datos, modelos de IA y registros crecen con el tiempo)
  • Red: Conexión Gigabit para acceso responsivo del cliente

Recomendado para Producción:

  • Servidor: Hetzner CCX62 o similar (48 vCPU, 192GB RAM)
  • Almacenamiento: 4TB NVMe con sistema de respaldo automatizado
  • Red: Múltiples conexiones redundantes
  • Monitoreo: Stack completo de observabilidad con alertas

Estrategia de Respaldo para Entornos Multi-Cliente

Implementa respaldos automatizados por cliente:

Endurecimiento de Seguridad para Producción

Implementa mejores prácticas de seguridad completas:

Aplica el middleware de seguridad a todos los servicios del cliente:

Análisis de Costos: Los Números que Importan

Costos SaaS Tradicionales (10 clientes empresariales con conjuntos completos de funciones)

Costos mensuales por cliente:

  • n8n Pro: $50/mes por cliente = $500/mes
  • Supabase Pro: $25/mes por cliente = $250/mes
  • Plataforma NoCode (Airtable): $20/mes por cliente = $200/mes
  • SSO empresarial (Auth0): $23/mes por cliente = $230/mes
  • Costos de API de IA (OpenAI): $50/mes por cliente = $500/mes
  • Total: $1,500/mes = $18,000/año

Costos del Stack Empresarial Multi-Tenant Autoalojado

Costos anuales de infraestructura:

  • Servidor dedicado (Hetzner CCX62): $350/mes = $4,200/año
  • Costos de dominio (10 clientes): $120/año
  • Cloudflare Pro (opcional): $240/año
  • Total: $4,560/año

Ahorro anual: $13,440 (75% de reducción de costos)

Además obtienes:

  • Soberanía y privacidad completa de datos
  • Personalización ilimitada y marca blanca
  • Sin dependencia de proveedores ni límites de tasa de API
  • Seguridad y cumplimiento de nivel empresarial
  • Capacidad de ofrecer servicios de reventa
  • Control total sobre actualizaciones y funciones

Esto es particularmente poderoso cuando consideras que nuestra configuración proporciona funciones empresariales que normalmente costarían mucho más en suscripciones SaaS, similar a los beneficios de costos que demostramos en nuestro análisis de autoalojamiento de n8n.

De la configuración a una decisión operativa

La cuestión práctica no es si una plataforma se puede configurar. El equipo debe poder explicar la responsabilidad, detectar desviaciones, recuperar el servicio sin improvisar y demostrar el resultado previsto. Por eso asociamos cada cambio con un responsable, una línea base, una ruta de reversión y un periodo de comprobación. Así, una corrección puntual se convierte en una capacidad operativa fiable. Ese mismo registro ofrece al siguiente responsable un punto de partida fiable y convierte la optimización posterior en una decisión medida, no en otra ronda de conjeturas.

Insights relacionados

Artículos relacionados