Automatizaciones con n8n en casa: copias, certificados y botones
Tres automatizaciones con n8n en el servidor de casa: un resumen semanal de copias de seguridad y certificados, botones en la tablet de la cocina y lo que aprendimos de una copia que falló.
En el servidor de casa corre n8n, una herramienta para encadenar tareas: «cuando pase esto, haz aquello». Hasta ahora solo tenía un flujo, el que apaga servicios cuando se va la luz y el servidor tira del SAI. Esta semana le hemos dado más trabajo. Todo empezó con un aviso en el móvil: una copia de seguridad había fallado.
Una copia que falló y nadie supo por qué
Cada noche, doce tareas hacen copia de las bases de datos y de los datos de las apps, y las suben a un almacenamiento propio, que a su vez se replica en Google Drive. Una noche falló la primera de todas, la del propio clúster. Lo curioso es que las noches siguientes fueron bien, pero el aviso seguía llegando cada cuatro horas.
Había dos problemas. El primero: el sistema de alertas avisa mientras la tarea fallida siga guardada, aunque las siguientes salgan bien. El segundo, más serio: la tarea había borrado sus registros al rendirse, así que no había forma de saber qué pasó. Lo único que quedó fue que falló en los primeros segundos, justo cuando descarga de internet las herramientas que necesita. Lo más probable es un corte de red momentáneo: el script no reintentaba y los tres intentos se agotaron en medio minuto.
El arreglo, aplicado a las doce copias:
- Reintentos. Todo lo que sale a internet o al almacenamiento se reintenta hasta cinco veces, con veinte segundos entre intentos.
- Herramientas con versión fija. Antes, cada noche se preguntaba a GitHub cuál era la última versión del cliente de almacenamiento. Ahora se descarga siempre la misma y se comprueba su huella, así que no depende de esa consulta ni puede colarse un binario distinto.
- Los intentos fallidos se conservan, con sus registros. Si vuelve a fallar, se verá el motivo.
Al revisarlas apareció otro detalle: en cuatro de ellas, lo guardado en el repositorio ya no coincidía con lo que corría en el servidor, y tres ni siquiera tenían copia en el repositorio. Las doce se probaron una a una antes de darlo por bueno.
Un resumen cada domingo
Las alertas avisan cuando algo falla, pero no cuando algo deja de pasar. Si una copia dejara de ejecutarse sin dar error, nadie se enteraría. Por eso n8n manda ahora un resumen cada domingo por la mañana: comprueba que las doce copias y la subida a Google Drive han terminado bien en el último día, y que ningún certificado de las webs está a punto de caducar.
Los certificados se renuevan solos treinta días antes de caducar. Si alguno llega a catorce días, la renovación está fallando y hay tiempo de arreglarlo antes de que una web deje de abrir. El aviso es un solo mensaje en el móvil: «todo bien» o la lista de lo que hay que mirar. n8n no guarda ninguna contraseña para esto: pregunta a Prometheus, el sistema de monitorización que ya vigila el servidor.
Botones en la tablet de la cocina
La tablet de la cocina tenía reservado un hueco para botones. Ya tiene tres:
- Lista al móvil. Manda al teléfono lo que falta por comprar en todas las listas, para quien sale al súper.
- ¿Qué cenamos? Dice qué hay planificado para cenar hoy y propone tres ideas más.
- Ideas para la semana. Propone siete cenas variadas, con algo de pescado y de legumbre, sin repetir el ingrediente principal dos días seguidos.
Las ideas las escribe un modelo de lenguaje que corre en un ordenador de casa, sin mandar nada fuera. Tarda unos cinco segundos. Si ese ordenador está apagado, la tablet propone ideas de una lista fija en vez de quedarse en blanco. La respuesta aparece en la propia tablet, debajo de los botones, y desaparece al cabo de una hora.
«Ideas para la semana» se queda en ideas a propósito: no escribe en el menú del hub. Desde la tablet solo se sabe qué hay planificado para hoy, no para el resto de la semana, y rellenar el menú a ciegas podría pisar lo que ya está apuntado.
Cómo encaja todo
En la tablet manda Home Assistant. Al pulsar un botón, Home Assistant reúne los datos (las listas, el menú de hoy), se los pasa a n8n y espera la respuesta. n8n hace el trabajo y contesta con un texto, y la tablet lo enseña. Cuando hay que avisar al móvil, n8n se lo pide a Home Assistant, que ya sabe mandar notificaciones al iPhone.
Así ninguno guarda las claves del otro, y todo se queda en la red de casa. n8n no se ve desde internet, y cada pieza hace lo que mejor sabe: Home Assistant, la pantalla y los avisos; n8n, los flujos.