====== Home Assistant ======
**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**.
----
===== docker-compose.yml =====
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
----
===== Configuración de red =====
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://:8123
Cuando configuramos el acceso mediante **Nginx Proxy Manager**:
* Este actúa como **proxy inverso**, recibiendo solicitudes externas y redirigiéndolas al contenedor correcto (Home Assistant).
* Generamos el certificado **SSL** mediante Let’s Encrypt, asegurando que el dominio //home.TUDOMINIO.com.ar// sea accesible por HTTPS.
* NPM redirige el tráfico externo hacia el host y puerto de **Home Assistant** (8123) sin necesidad de exponer directamente los puertos al exterior.
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.
===== Actualización dinámica de DNS con Cloudflare =====
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|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.