Gestionar 12 aplicaciones independientes (mezclando WordPress y desarrollos propios) en un único VPS de OVH se estaba convirtiendo en una pesadilla de mantenimiento. Cada actualización ponía en riesgo la disponibilidad de las demás.
Implementé una capa de Traefik Proxy como punto de entrada único. Esto permitió centralizar la gestión de certificados Let's Encrypt y el enrutamiento dinámico basado en etiquetas de Docker.
services:
my-app:
image: my-backend-go:latest
labels:
- "traefik.enable=true"
- "traefik.http.routers.app.rule=Host(`api.midominio.com`)"
- "traefik.http.routers.app.tls.certresolver=myresolver"Diagrama conceptual: Tráfico Externo -> Puerto 80/443 -> Traefik Container -> Docker Network Interna -> App Container.
Para las aplicaciones más críticas, migramos la lógica a Golang, utilizando MongoDB Atlas para la persistencia. Esto permitió reducir el uso de CPU del VPS en un 40% comparado con las instancias pesadas de WordPress que servían APIs anteriormente.
Reducción de tiempos de respuesta de 400ms a 45ms en endpoints críticos.
Aislamiento total de bases de datos en redes Docker internas sin exposición pública.
Hoy, las 13 aplicaciones (3 grandes y 10+ menores) conviven en armonía. El despliegue de una nueva app es cuestión de segundos: un git push activa el flujo que recrea el contenedor sin tiempo de inactividad para las demás.