Un homelab como código: Docker Compose, Gitea Actions y un asistente IA
Un administrador explica cómo convirtió su homelab en código: plantillas Compose, validación automática, despliegues con rollback y un asistente IA para operar desde el móvil.
Un administrador ha explicado en Reddit (r/selfhosted) cómo gestiona su homelab con Docker Compose, Gitea Actions y un asistente de IA. Ha convertido su servidor en un sistema gobernado por Git: el repositorio define qué debe ejecutarse, cómo validarlo y cómo revertir si algo falla. La parte interesante es que una IA puede operar ese sistema desde el móvil.
Cómo está montado
El homelab se reparte entre un servidor Ubuntu (MyServer) y un NAS Synology. Ubuntu ejecuta la mayoría de los contenedores y algunos servicios nativos; el Synology aporta almacenamiento, snapshots y virtualización, con Home Assistant en una VM. La red es un LAN plano: dos instancias de AdGuard Home resuelven el DNS, una como add-on de Home Assistant y otra en un contenedor, sincronizadas con adguardhome-sync. Los nombres .home acaban en MyServer, donde Caddy da HTTPS y enruta a los servicios. Para el acceso remoto usa Cloudflare Tunnel y para la LAN completa, OpenVPN desde el NAS.
El repositorio de Docker tiene una estructura predecible: cada stack incluye un archivo Compose, un workflow de Gitea Actions y scripts reutilizables. Las variables obligatorias usan la sintaxis ${VAR:?error}, así que Compose falla si falta algo. Todos los contenedores de larga duración tienen healthcheck, límites de CPU/memoria y logs rotativos. Los puertos publicados se registran en allocated-ports.md y el CI comprueba que no haya colisiones ni reservas obsoletas. Si un despliegue deja el contenedor enfermo, el sistema restaura la imagen anterior.
El papel de la IA
La pieza que lo hace práctico es OpenChamber, un servicio propio que da una interfaz web al repositorio y al socket Docker del host. La IA no se limita a editar YAML: puede inspeccionar contenedores, leer logs, comprobar el estado de salud y diagnosticar por qué un servicio no arranca. También monitoriza la cola de Gitea Actions.
El autor asegura que añadir una aplicación normalmente se reduce a una orden en lenguaje natural: 'despliega la pila X desde esta URL'. El asistente lee la documentación del proyecto, mira stacks parecidos ya desplegados, elige un puerto libre, crea los volúmenes persistentes, inventa un healthcheck, genera el workflow de despliegue y valida los cambios antes de enviarlos. El repositorio incluye un AGENTS.md con las reglas para que la IA sepa qué se espera de ella.
El sistema no es revolucionario: es infrastructure-as-code bien hecho, pero con la interfaz de un chat. Para quien mantiene un homelab o un pequeño parque de servidores, reduce considerablemente las tareas repetitivas y deja un historial auditable de qué se cambió y por qué. Queda por ver cuánto se puede confiar en que el asistente no rompa algo en un entorno más complejo, pero aquí funciona.

