Una instalación recuperable de Home Assistant en contenedor considera que la imagen del contenedor es prescindible y que el estado, la configuración, los secretos, las asignaciones de dispositivos, el comportamiento de red y el procedimiento de restauración conforman el sistema real.
El objetivo no es solo hacer que Docker reinicie Home Assistant. Se trata de poder reconstruir el servicio en un host limpio tras una actualización fallida, la pérdida de un disco o la sustitución del host y recuperar, en un plazo conocido, los mismos usuarios, integraciones, automatizaciones, radios, datos de la base de datos e identidad de red.
Mantén el estado persistente fuera de la imagen del contenedor
Monta todo el directorio de configuración de Home Assistant en un almacenamiento persistente del host y haz una copia de seguridad de todo su contenido, incluidos los directorios ocultos. Las migraciones de la comunidad suelen fallar cuando se copian los archivos YAML visibles, pero se omite .storage, donde se guardan las entidades, las integraciones y otros datos gestionados desde la interfaz de usuario. Un fallo de migración de contenedor muestra cómo la expansión de comodines del shell puede omitir esos archivos ocultos sin avisar.
Guarda en notas de infraestructura con control de versiones el archivo Compose, la plantilla de variables de entorno, la zona horaria, el modo de red, las asignaciones de dispositivos, las rutas de montaje y los permisos de grupo necesarios. No incluyas en una imagen personalizada el estado exclusivo de un hogar, a menos que también tengas una compilación reproducible y una copia de recuperación aparte.
La topología completa del servidor Home Assistant de ZimaSpace ofrece un enfoque más amplio: mantén pequeña la ruta de control, separa el estado persistente del almacenamiento masivo y guarda la recuperación fuera del dominio de fallos activo antes de añadir dependencias de otros servicios.
Haz copias de seguridad coherentes, no solo frecuentes
Una copia de seguridad solo es útil si sus archivos representan un momento coherente. En una instalación local sencilla con SQLite, detener el servicio durante una ventana de mantenimiento y copiar el volumen de configuración persistente es fácil de entender. Si se usa una base de datos externa, haz una copia con un método que garantice la coherencia de la base de datos y registra con qué copia de seguridad de la configuración de Home Assistant se debe asociar.
Un flujo de trabajo reciente para hacer copias de seguridad de volúmenes de Docker destaca la importancia de restaurar la copia, en lugar de suponer que un comando de archivado satisfactorio garantiza que los datos sean recuperables. Conserva al menos una generación fuera del host de Docker para que un fallo de SSD, del sistema de archivos o una limpieza accidental no eliminen tanto el servicio como la copia de seguridad.
Registra la antigüedad de la copia de seguridad, la versión de la aplicación, la versión de la base de datos, el tamaño, la suma de verificación, la ubicación de la clave de cifrado y los pasos para restaurar en un host limpio. Sin metadatos de restauración, la retención crea un montón de archivos en lugar de un sistema de recuperación.
Modela las dependencias y la disponibilidad en Compose
Cuando Home Assistant depende de MQTT, una base de datos externa, un proxy u otro servicio local, el orden de inicio de los contenedores no equivale a la disponibilidad del servicio. Un proceso puede estar en ejecución mientras su socket, esquema o punto de conexión de estado aún no está disponible. Una guía de disponibilidad de Compose muestra cómo las comprobaciones de estado y las condiciones de dependencia reducen las carreras durante el inicio.
Asigna a cada dependencia su propia señal de estado y comportamiento ante fallos. Home Assistant debería volver a intentar conectarse a una base de datos que está iniciándose, pero una base de datos que permanece en estado no saludable debería mostrarse como un fallo, en lugar de quedar oculta tras reinicios interminables. Usa políticas de reinicio para recuperarte de los cierres de procesos; usa comprobaciones de estado y monitorización para determinar si el servicio está realmente listo.
Siempre que sea posible, mantén los servicios opcionales fuera de la cadena de inicio crítica. Un renderizador de paneles, una herramienta multimedia o un exportador de métricas averiados no deberían mantener fuera de servicio el controlador de automatizaciones.
Limita los cambios y conserva un par para la reversión
Antes de una actualización, registra la etiqueta de imagen actual de Home Assistant, la definición de Compose, la versión de la base de datos, la copia de seguridad de la configuración y las versiones de cualquier servicio complementario que intervenga en el inicio. Cambia una capa a la vez. Si una actualización falla, revertir solo la imagen del contenedor puede ser arriesgado si las migraciones de configuración o de la base de datos han cambiado el estado persistente.
Usa una restauración en un entorno de pruebas o un directorio de recuperación clonado para probar la versión de destino antes de una migración importante del host o de la base de datos. Conserva juntos la imagen anterior que se sabe que funciona y la instantánea del estado creada justo antes de la actualización. Elimina ese par solo cuando la nueva versión supere las pruebas de automatizaciones, historial, radios, paneles, notificaciones y reinicio.
Un artículo más reciente sobre el diseño de Docker Compose para Home Assistant trata la red, el almacenamiento persistente y las copias de seguridad como decisiones explícitas de implementación. Ese es el enfoque adecuado para la reversión: conservar el estado y la definición de implementación que necesita un contenedor de reemplazo, no el propio sistema de archivos desechable del contenedor.
Reconstruye en un host limpio antes de considerar recuperable la implementación
Elige una máquina de repuesto, una máquina virtual o un directorio de prueba aislado y realiza la recuperación sin leer archivos del sistema de archivos del contenedor en ejecución. Instala el entorno de ejecución de contenedores, coloca la definición de Compose, restaura el estado persistente, vuelve a crear los secretos, conecta las radios mediante rutas de dispositivo estables, inicia las dependencias necesarias y arranca Home Assistant.
Comprueba la propiedad y los permisos de los archivos antes de dar por hecho que la copia de seguridad es defectuosa. Las diferencias de permisos tras la migración pueden mostrar una pantalla de configuración inicial aunque los datos existan. Un caso de recuperación de una migración de Docker muestra cómo los permisos y el estado oculto pueden impedir por separado que aparezca la instalación restaurada.
- Inicia sesión con la cuenta de administrador existente.
- Verifica las integraciones, entidades, automatizaciones, paneles e historial.
- Confirma la asignación de Zigbee, Z-Wave, Thread, Bluetooth u otra radio.
- Desconecta Internet y ejecuta una automatización local crítica.
- Reinicia el host y todas las dependencias necesarias.
- Mide el tiempo total de restauración desde un host vacío hasta tener el control del hogar funcionando.
Usa un contrato de recuperación para cada dependencia en contenedores
| Componente | Objeto persistente | Prueba de recuperación |
|---|---|---|
| Home Assistant | Estado completo de /config |
Se recuperan la cuenta y las automatizaciones existentes |
| Base de datos | Copia de seguridad coherente de la base de datos | Las consultas al historial y las escrituras de Recorder se realizan correctamente |
| MQTT/broker | Configuración, credenciales, estado retenido si es necesario | Los dispositivos se reconectan y publican |
| Radios | Identidad del dispositivo, claves de red, asignación | El coordinador se reconecta sin volver a emparejarse |
| Red/proxy | Puertos, nombres, certificados, rutas | Los clientes locales y remotos previstos se reconectan |
Una implementación recuperable cuenta con una definición versionada, estado fuera del host, disponibilidad de dependencias, una pareja de versiones para la reversión y una restauración cronometrada en un host limpio. Una vez superadas esas pruebas, los contenedores se convierten en lo que deben ser: unidades de ejecución reemplazables, en lugar de mascotas irremplazables.
Configuración de NAS y servidores
Más para leer

¿Puede un servidor en una residencia estudiantil funcionar lo bastante silenciosamente como para dormir, estudiar y hacer videollamadas?
Sí, un servidor para una residencia universitaria puede pasar desapercibido si el hardware consume poca energía, se controlan las vibraciones del almacenamiento, se programan...

Un laboratorio doméstico estudiantil que puede pasar de la habitación de la residencia universitaria al primer apartamento
Mantén portátil el laboratorio doméstico de un estudiante separando los servicios de la red específica de cada habitación, minimizando el hardware, haciendo copias de...

Cómo compartir un servidor doméstico con tus compañeros de piso sin compartir cuentas ni archivos privados
Asigna a cada compañero de piso una identidad con nombre, almacenamiento privado y solo los roles compartidos que necesite; mantén la administración, las copias...



