Última verificación:
Cada pila de self-hosting en Docker llega a la misma encrucijada: algo debe enrutar el tráfico entrante a los contenedores y mantener los certificados HTTPS actualizados. Las dos respuestas que encontrarás en cada hilo de r/selfhosted son Nginx Proxy Manager - nginx con una interfaz web amigable - y Traefik, el proxy nativo para la nube que se configura a sí mismo desde etiquetas en los contenedores.
Ambos terminan TLS, ambos renuevan Let’s Encrypt automáticamente, ambos son gratuitos. Diferencian en filosofía: clics versus código.
TL;DR: ¿Cuál deberías escoger?
Elige Nginx Proxy Manager si quieres un proxy inverso funcional en quince minutos, prefieres configurarlo desde una interfaz web, y tu pila cambia cada pocas semanas, no cada pocas horas.
Elige Traefik si tus servicios ya viven en archivos docker-compose, quieres que el enrutamiento se actualice automáticamente cuando cambien los contenedores, y valoras configuraciones que están en git.
Traefik vs NPM en Breve
| Traefik | Nginx Proxy Manager | |
|---|---|---|
| Configuración | Etiquetas Docker / YAML (código) | Interfaz web (clics) |
| Descubrimiento de servicios | Automático desde Docker/K8s | Manual por host |
| Let’s Encrypt | Integrado, incluyendo desafío DNS | Integrado, incluyendo desafío DNS |
| Middleware | Rico (auth, límite de velocidad, encabezados) | Básico (listas de acceso, redirecciones) |
| Autenticación adelantada (SSO) | De primera clase | Posible, más manual |
| Configuración en control de versiones | Natural | No realmente (base de datos) |
| Curva de aprendizaje | Real pero limitada | Mínima |
| RAM en reposo | ~50-150 MB | ~50-150 MB |
Donde Nginx Proxy Manager gana
Tiempo hasta el primer HTTPS. Despliega el contenedor, abre la interfaz, añade un proxy host, solicita un certificado: listo antes de que se te enfríe el café. Para una pila de cinco a veinte servicios en su mayoría estables, esa simplicidad no es una ayuda para principiantes, es la cantidad adecuada de herramientas. Debajo, está nginx, probado y fiable, y cuando algo falla, décadas de lore de depuración de nginx aplican directamente.
Los límites son estructurales: la configuración vive en una base de datos en lugar de archivos, por lo que no hay un historial de git significativo, revisión de código ni reacción automática cuando los contenedores entran y salen.
Donde Traefik gana
Autonomía a escala. Traefik observa el socket de Docker y construye su tabla de enrutamiento a partir de etiquetas en tus archivos compose: despliega una app y su ruta, certificado TLS, y middleware existen segundos después sin tocar el proxy. La configuración vive junto a los servicios que describe, versionada y revisable. El sistema de middleware es la función secreta: autenticación adelantada delante de cualquier app (encaja perfectamente con Authentik), límite de velocidad, listas de IP permitidas, y políticas de encabezados, todo declarado por servicio.
El costo es la curva de aprendizaje y depuración que ocurre en etiquetas y logs en lugar de en una interfaz gráfica.
Requisitos de VPS comparados
Ambos proxies son errores de redondeo en el host que ejecuta tus apps:
| Especificación | Traefik | Nginx Proxy Manager |
|---|---|---|
| RAM mínima | 256 MB | 256 MB |
| RAM recomendada | 512 MB | 512 MB |
| Almacenamiento | 5-10 GB | 5-10 GB |
| CPU | Baja | Baja |
| Requisito clave | Ancho de banda del host + latencia | Igual |
Ya que cada solicitud a cada app pasa por el proxy, la red del proveedor es lo que realmente estás comprando. Hetzner desde 5.49 EUR por mes incluye 20 TB de tráfico y baja latencia europea consistentemente - nuestro valor por defecto para pilas con proxy. Vultr desde 6 USD, con 32 ubicaciones, minimiza los viajes redondos para usuarios dispersos globalmente, y Contabo desde 5.99 EUR ofrece la menor capacidad de RAM económica para las apps detrás del proxy. Profundidades: mejor VPS para Traefik y mejor VPS para Nginx Proxy Manager, además de la comparación completa de VPS.
Veredicto
Esto es una elección de flujo de trabajo, no un concurso de calidad. NPM convierte el proxy en una página de configuración; Traefik lo convierte en infraestructura-como-código. Comienza con NPM si la frase “Etiquetas Docker” te agotó; comienza con Traefik si tus archivos compose ya están en git y prefieres nunca más hacer clic en un formulario de certificado.
El camino de migración común es en una sola dirección: primero NPM, luego Traefik a medida que la pila se vuelve dinámica - y esa es una forma perfectamente válida de aprender ambos.
Frequently asked questions
¿Es Nginx Proxy Manager lo suficientemente bueno para una configuración self-hosted seria?
Sí, hasta un punto que la mayoría de los homelabs nunca superan. NPM gestiona decenas de servicios de manera confiable, renueva los certificados Let's Encrypt en su horario, y sus listas de acceso ofrecen protección básica. El límite aparece cuando deseas middleware por servicio, configurar en control de versiones o conexión automática de contenedores que cambian frecuentemente, los flujos de trabajo para los cuales Traefik fue diseñado. Hasta entonces, NPM no es un compromiso.
¿Qué tan empinada es realmente la curva de aprendizaje de Traefik?
Un fin de semana honesto. Los conceptos - entrypoints, routers, servicios, middlewares - son desconocidos durante una tarde, luego el modelo encaja. Después de eso, exponer una nueva app es agregar dos o tres etiquetas de Docker en tu archivo compose y no hacer clic en ningún lado. Las personas que abandonan Traefik generalmente omitieron los conceptos y copiaron etiquetas que no entendían; aprende los cuatro términos primero y todo será predecible.
¿Necesitan sus propios VPS Traefik o NPM?
No - el proxy debe estar en el mismo VPS que las aplicaciones Docker que gestiona, donde consume casi nada: ambos en reposo usan entre 50 y 150 MB de RAM. Lo que importa es la calidad de la red del host y la capacidad de ancho de banda, ya que cada byte de cada app pasa por allí. Compra red y tiempo de actividad, no núcleos extras, y cualquier plan de uso general de 4 a 8 GB que aloje tu pila lleva el proxy gratis.