Home Assistant es un sistema de domótica open-source ampliamente utilizado que permite la integración de dispositivos IoT y la automatización de tareas dentro de un entorno doméstico inteligente. En esta implementación, Home Assistant se utiliza principalmente para la actualización dinámica del DNS, asegurando que la dirección IP pública del servidor permanezca sincronizada con el dominio configurado.
El archivo docker-compose.yml correspondiente a Home Assistant se compone de la siguiente manera:
services: homeassistant: image: lscr.io/linuxserver/homeassistant:latest container_name: homeassistant network_mode: host environment: - PUID=1000 # ID user - PGID=1000 # ID grupo - TZ=Etc/UTC # Zona horaria cap_add: # Capacidades extra al contenedor - NET_ADMIN # Configuraciones de red - NET_RAW # Raw sockets volumes: - /var/run/dbus:/var/run/dbus:ro - ./data:/config # Persistir datos ports: - 8123:8123 #optional # devices: # - /path/to/device:/path/to/device #optional restart: unless-stopped
Home Assistant se ejecuta con la opción network_mode: host, lo que significa que el contenedor comparte directamente la red del sistema anfitrión. Esto le permite comunicarse con dispositivos y servicios locales (como sensores o integraciones LAN) sin necesidad de estar en la red Docker net_backend.
Gracias a esta configuración, el acceso al servicio se realiza directamente desde el navegador:
http://<IP_SERVIDOR>:8123
Cuando configuramos el acceso mediante Nginx Proxy Manager:
De esta forma, podés acceder a Home Assistant desde cualquier lugar usando:
https://home.TUDOMINIO.com.ar
con una conexión segura y gestionada por el proxy.
Para que Home Assistant actualice automáticamente los DNS con nuestra IP pública, nos dirigimos a Configuración → Dispositivos y servicios → Añadir integración → Cloudflare.
Nos pedirá un Token API, por lo que utilizamos el mismo que creamos para generar nuestros certificados SSL, explicado en NGINX Proxy Manager
Seleccionamos todos los registros DNS y le damos a “Aceptar”. Con esta configuración, Home Assistant queda correctamente integrado con Cloudflare, permitiendo la actualización automática de los registros DNS cada vez que cambia la IP pública del servidor, sin intervención manual.