Hace unos días publiqué mi guía base de Tailscale. Ahí contaba por qué dejé de pelearme con WireGuard puro para el acceso diario al homelab. Esa parte sigue siendo cierta. Instalar Tailscale sigue siendo ridículamente fácil. Lo que ya no me parece tan sencillo es diseñarlo bien cuando tu red deja de ser cuatro cacharros y empieza a parecer una pequeña jungla.
Ese es el punto en el que casi todas las guías se quedan cortas. Te enseñan a hacer tailscale up, ves el dispositivo en el panel y te vienes arriba. Luego pasan dos semanas, quieres acceder a un switch que no puede instalar el cliente, quieres sacar internet por casa cuando estás de viaje, o decides que igual no te hace gracia que todos los nodos hablen con todos. Ahí empieza el trabajo real.
El año pasado perdí un disco en mi servidor de almacenamiento. No fue un fallo catastrófico con chispas y humo, fue algo peor: el disco empezó a dar errores intermitentes durante semanas, los datos se corrompieron de forma silenciosa y me di cuenta tarde. Tardé tres días en recuperar todo desde el backup, y eso fue porque tenía backup. Muchos no lo tienen.
Desde entonces uso Scrutiny en todos mis servidores. Es un servicio Docker que recopila los datos S.M.A.R.T. de todos tus discos, los analiza y te manda una alerta cuando detecta valores que deberían preocuparte. No es infalible (los discos pueden fallar sin previo aviso S.M.A.R.T.) pero en mi experiencia la mayoría de fallos vienen precedidos de semanas o meses de señales que S.M.A.R.T. detecta si alguien está mirando.
Durante un tiempo usé Watchtower para mantener los containers actualizados. Lo configuré en modo auto-update y durante unos meses fue perfecto. Luego un día me encontré con que un container había actualizado automáticamente a una versión que tenía un breaking change y me rompió el servicio.
Desde ese día tengo una política diferente: quiero saber que hay una actualización antes de aplicarla, no que se aplique sola. What’s Up Docker (WUD) cubre exactamente ese caso. Monitoriza tus containers, detecta cuando hay nuevas versiones, y te avisa. Tú decides cuándo y si actualizar.
Llevaba años oyendo que ZFS era la mejor decisión que podías tomar para el almacenamiento de tu homelab. Tardé demasiado en hacer el salto porque siempre me parecía que era demasiado complejo, que necesitaba hardware específico, que era “cosa de empresas”. Todo eso era mentira, pero entiendo por qué creí que era verdad.
La funcionalidad que me terminó de convencer fue los snapshots. Y este post es básicamente un argumento de por qué deberías conocerlos aunque ya tengas algún sistema de backup funcionando.
Hay una conversación que tengo con regularidad cuando alguien nuevo llega al mundo del homelab. Me preguntan: “¿uso Docker o mejor una VM?” Y la respuesta correcta suele ser “depende”, pero durante mucho tiempo me faltó mencionar una tercera opción que uso bastante: Incus.
Incus es un gestor de contenedores de sistema. No contenedores de aplicación como Docker, sino contenedores que ejecutan un Linux completo, con su propio systemd, sus propios procesos en background, su init, su cron. Desde dentro parece una VM normal. Desde fuera consume una fracción de los recursos.
Tenía un sistema de cámaras de vigilancia barato conectado a una app del fabricante que guardaba las grabaciones en su nube. Funcionaba. Veía las notificaciones, podía revisar lo que había grabado, y en general hacía lo que prometía. El problema era que no sabía exactamente qué hacía el fabricante con esas grabaciones, la app dejó de funcionar bien después de una actualización, y cuando intenté exportar mis propias grabaciones resultó que el proceso era más complicado de lo razonable.
Tengo un cajón de despacho que durante años fue la representación física del caos. Cables USB de todas las épocas, tornillos de tamaño desconocido, adaptadores de dudosa procedencia, baterías que igual están cargadas o igual llevan vacías desde 2021. Cada vez que necesitaba algo concreto tardaba cinco minutos en buscarlo y otros cinco en recordar que no estaba ahí.
Probé cajas de plástico compradas. Probé divisores de cajón de bambú. Probé sobres de plástico etiquetados. Todo funcionaba más o menos hasta que movía una cosa y el resto quedaba desordenado.
Antes de Tailscale tenía un servidor WireGuard en casa. Funcionaba, pero mantenerlo era un trabajo constante: añadir peers a mano, gestionar claves, actualizar la configuración cada vez que un dispositivo cambiaba de IP. Cuando lo dejé de lado durante tres semanas y volví a intentar conectarme desde fuera, tardé una hora en recordar cómo había configurado todo.
Eso fue hace dos años. Desde entonces uso Tailscale y no he mirado atrás.
Durante mucho tiempo tuve Proxmox con varios nodos pero sin HA configurado. Cada nodo vivía su vida: si se caía el nodo donde estaba corriendo mi agente de Gemology, ese servicio desaparecía hasta que yo me daba cuenta y lo encendía manualmente. Con dos o tres VMs es tolerable. Con más de diez servicios corriendo, te quedas sin noches tranquilas.
Proxmox High Availability es el mecanismo que permite que cuando un nodo falla, las VMs que tenía ese nodo se reinicien automáticamente en los nodos que siguen vivos. No es migración en caliente, que eso requiere hardware y configuración diferente. Es reinicio: la VM se apaga en el nodo que falla y se arranca en otro nodo del cluster. Para la mayoría de servicios del homelab, eso es suficiente.
Tenía Netdata. Luego tuve Prometheus con Grafana. En algún momento llegué a tener los dos corriendo a la vez porque no me decidía a migrar del todo. Los dos hacen bien su trabajo, pero los dos tienen el mismo problema: son herramientas grandes, con mucha configuración, y cuando tienes más de cinco servidores, mantener esa infraestructura de monitorización ya se convierte en un trabajo aparte.
Hace unos meses empecé a ver Beszel en varios foros de homelab. La propuesta es distinta: un hub central que recoge métricas de agentes ultra-ligeros instalados en cada máquina. Sin bases de datos externas, sin configuración de exporters, sin Grafana necesario. El hub guarda los datos internamente con SQLite, y la interfaz web ya viene incluida.
Dejé Dropbox después de que subieran el precio por tercera vez y la versión gratuita pasara a limitar el número de dispositivos. No fue una decisión difícil, pero sí me obligó a buscar una alternativa real, no solo otro servicio de nube con mejor precio.
La diferencia con lo que buscaba era simple: quería que mis archivos fueran de un dispositivo a otro directamente, sin pasar por un servidor de nadie. No porque tenga algo que ocultar, sino porque prefiero no depender de que una empresa decida cuánto cobrar el año que viene.
Tengo la tendencia de añadir servicios al homelab más rápido de lo que los documento. En algún momento dejé de saber de memoria qué estaba corriendo en qué servidor, en qué puerto, y con qué URL accedía a cada cosa. El día que quise mostrarle el homelab a un amigo me quedé en blanco intentando recordar la URL de Grafana.
Eso me llevó a buscar un dashboard. Probé cosas durante un tiempo, desde soluciones muy básicas (una página HTML estática con links) hasta Heimdall y Homer, que son los más conocidos. Heimdall tiene buena pinta pero me pareció demasiado manual. Homer es sólido pero vive en un YAML y cada cambio requiere editar el fichero y recargar.