Homelab con Docker y Cloudflare Tunnel en Debian

Homelab con Docker y Cloudflare Tunnel en Debian

Resumen: una base segura y mantenible para un homelab moderno

Un homelab es una infraestructura doméstica o de laboratorio utilizada para alojar servicios propios: paneles de administración, almacenamiento, monitorización, aplicaciones web, servidores multimedia, herramientas de automatización y entornos de pruebas. Docker encaja bien en este escenario porque separa aplicaciones y dependencias, facilita actualizaciones y permite describir despliegues mediante archivos Compose. Sin embargo, un homelab fiable necesita algo más que levantar contenedores: hay que controlar persistencia, redes, exposición de puertos, copias de seguridad, observabilidad y acceso remoto.

En Debian, la instalación recomendada de Docker Engine utiliza actualmente el repositorio APT oficial mediante un archivo docker.sources y la clave almacenada en /etc/apt/keyrings/docker.asc. Docker soporta Debian 12 Bookworm y Debian 13 Trixie. También conviene conocer una particularidad importante: publicar puertos Docker puede interactuar de forma inesperada con UFW o firewalld, porque Docker administra sus propias reglas de filtrado. Por eso un servicio que solo deba consumir Nginx o Cloudflare Tunnel debe enlazarse a loopback o permanecer únicamente en una red Docker interna cuando sea posible.

Cloudflare Tunnel permite publicar aplicaciones sin abrir un puerto entrante convencional hacia el origen. cloudflared crea conexiones salientes con la red de Cloudflare y reenvía las solicitudes hacia el servicio local configurado. En 2026 Cloudflare recomienda túneles administrados remotamente para la mayoría de los casos, porque la configuración se guarda en Cloudflare y puede gestionarse desde el panel, API o Terraform. Los túneles administrados localmente siguen disponibles para escenarios de laboratorio, pruebas y configuraciones heredadas, y resultan útiles para entender el funcionamiento mediante un archivo config.yml.

Una arquitectura práctica mantiene los contenedores de aplicaciones en redes privadas, expone solo el reverse proxy cuando es necesario y conserva los datos en volúmenes o bind mounts explícitos. Nginx puede centralizar virtual hosts, cabeceras y WebSocket, mientras que Cloudflare Tunnel se encarga del transporte hacia Internet. Si no necesitas Nginx para una aplicación concreta, el túnel también puede apuntar directamente a un puerto enlazado en 127.0.0.1. Esto reduce superficie expuesta sin confundir el túnel con un firewall interno.

La guía construye la infraestructura por etapas: preparación del servidor, instalación actual de Docker, estructura de directorios, redes, un Compose de ejemplo válido, Nginx como reverse proxy, Cloudflare Tunnel, TLS entre túnel y origen cuando procede, persistencia, backups, actualización segura, monitorización y resolución de fallos. Los ejemplos evitan credenciales reales y no dependen de imágenes inventadas. También se separan claramente las configuraciones de desarrollo de las que merece la pena mantener en producción.

El objetivo final no es acumular contenedores, sino disponer de una plataforma recuperable. Cada servicio debe tener una ruta de datos conocida, una forma de restaurarse, una política de actualización y una comprobación de salud. Antes de exponer una aplicación, revisa su autenticación; Cloudflare Tunnel evita abrir puertos de entrada, pero no convierte automáticamente una aplicación sin autenticación en segura. Para paneles administrativos y servicios sensibles, añade controles de acceso apropiados y conserva una vía privada de administración, por ejemplo mediante una VPN o red de confianza.

Guía completa: Leer la guía técnica completa en Jesanre Stack

Publicar un comentario

0 Comentarios