Uso GitHub Actions con runners propios para automatizar deploys en mi homelab. Cuando hago push a un repo, la nueva versión está desplegada en minutos sin que tenga que hacer nada. Te enseño cómo lo tengo montado.
Antes de tener OctoPrint, mi relación con la impresora 3D era físicamente exigente. Copiar el archivo en una tarjeta SD, llevarla a la impresora, insertarla, navegar los menús con la ruedecita, iniciar la impresión, y quedarte cerca por si algo iba mal. Si necesitabas cancelar o ajustar algo, tenías que ir hasta la máquina.
Ahora inicio impresiones desde el sofá, veo la webcam en tiempo real, recibo notificaciones cuando algo falla, y el historial de impresiones está en un servidor de mi red local. Eso es lo que hace OctoPrint.
Un agente de IA que monitoriza tu infraestructura, revisa el email y ejecuta comandos en tu clúster K3s. Sin SaaS, sin datos que salen de tu red. Esto es lo que monté y lo que aprendí tras meses usándolo.
Después de perder datos por un nodo caído, instalé Longhorn en mi clúster K3s. Réplicas automáticas, backups a MinIO y snapshots integrados. Esto es lo que tendrías que saber antes de que te pase lo mismo.
Tengo un Mac mini que uso como servidor principal. Está siempre encendido. Pero también tengo tres ZimaBoards que forman parte de mi cluster K3s. Esas máquinas consumen poco (10W cada una), pero cuando no las necesito, las apago. El problema: cuando las necesito, están en otro cuarto.
Podría levantarme, ir al cuarto, pulsar el botón de encendido. O podría enviar un paquete mágico por la red que las despierta automáticamente. Segundo escenario, por favor.
Tengo una caja de zapatos llena de facturas, contratos, y papeles varios que acumulo desde hace años. Cada vez que necesito algo (el contrato del seguro, la factura de hace 3 meses, el certificado de no sé qué) tardo media hora en encontrarlo. O no lo encuentro. O lo encuentro pero resulta que era otro documento parecido.
Hace 6 meses instalé Paperless-ngx en mi homelab. Desde entonces, he escaneado más de 800 documentos. Y sí, sigue habiendo una caja de zapatos con papeles, pero ahora cuando necesito algo lo encuentro en 10 segundos.
Llevo casi dos años con Home Assistant corriendo en mi homelab y es una de las cosas que más uso cada día. No es la instalación más compleja que tengo (ese premio se lo lleva el cluster de Kubernetes), pero es la que más impacto tiene en mi vida diaria.
La diferencia entre tener cacharros “inteligentes” sueltos por casa y tener Home Assistant es brutal. Pasas de 47 apps diferentes que medio funcionan a tener todo en un solo sitio. Y lo mejor: cuando Philips o Samsung decidan que tu bombilla o tu enchufe “ya no son compatibles”, te da igual. Home Assistant seguirá funcionando.
Voy a empezar por el final: perdí datos. No una vez, dos veces.
Primera vez, 2022: un disco del NAS palmó. Pensaba que RAID 1 era backup. No lo es. Perdí 6 meses de fotos familiares porque el segundo disco falló 48 horas después del primero (RAID failure correlacionado, mismo lote de discos).
Segunda vez, 2024: actualización de Proxmox que se fue al carajo. Recreé las VMs desde cero, pero perdí configuraciones de servicios que no había documentado. 3 días de trabajo para volver a tener todo funcionando.
Tengo un problema. Mejor dicho, tenía un problema.
Después de dos años montando servicios en mi homelab, llegué a un punto donde tenía 43 containers Docker corriendo entre tres servidores diferentes. Plex, Grafana, n8n, Gitea, Vaultwarden, Home Assistant… la lista seguía y seguía.
El problema no era Docker. Docker funciona de puta madre. El problema era yo, intentando recordar qué compose file iba con qué servicio, en qué puerto corría cada cosa, y por qué narices ese container se reiniciaba cada 15 minutos.
Tengo 47 dispositivos conectados a mi red. Entre servidores, móviles, tablets, bombillas Hue, enchufes inteligentes, impresoras, la TV… es un caos. Y hasta hace un mes, todos estaban en la misma red. Todos podían verse entre sí.
Eso incluye la bombilla del salón pudiendo hablar con mi Synology donde guardo contratos y documentos fiscales. No es que la bombilla vaya a hackearme, pero el firmware lo fabrica una empresa china que nunca ha oído hablar de actualizaciones de seguridad.
En el post sobre Ollama expliqué cómo montar modelos de lenguaje en local. Lo que no conté es que usar Ollama directamente por terminal tiene sus limitaciones. Funciona, pero no es cómodo para el uso diario.
Open WebUI resuelve eso. Es una interfaz web para Ollama que se parece mucho a ChatGPT en apariencia y funcionalidad, pero corre en tu propia red, sin enviar datos a nadie, y sin límites de uso.
Llevo dos años pagando GitHub Pro. 4$ al mes. No es mucho dinero pero me molestaba. No porque sea caro, sino porque estaba pagando por algo que podía tener en mi homelab. Repos privados ilimitados, CI/CD, wikis, issues… todo corriendo en 200MB de RAM.
En diciembre monté Gitea y migré todos mis repos. No he vuelto a GitHub para proyectos personales.
Por qué self-hostear Git # GitHub está bien. Es rápido, fiable, todo el mundo lo conoce. Pero tiene varios problemas si trabajas en proyectos personales o internos de empresa: