Una de las piezas casi indispensables en una instalación de Home Assistant es MQTT Broker.
Si estamos utilizando Home Assistant (Antiguo Hassio) o Home Assistant Supervised su instalación resulta bastante sencilla, con tan solo unos clicks desde los Addons y rellenar los datos en la configuración podemos configurarlo pero si utilizamos Home Assistant en Docker tenemos de configurarlo manualmente.
La configuración y despliegue del contenedor sigue el mismo formato que cualquier contenedor de Docker, crear una carpeta para los datos, crear el docker compose y lanzarlo.
En este caso ademas configuraremos Mosquitto MQTT Broker para que use autentificación de usuario, dicho de otro forma solo el usuario que configuremos podrá enviar datos al Broker.
Para finalizar haremos la integración en Home Assistant desde el apartado integraciones.
Os dejo el video con todos los pasos que se realizan, algunos de ellos adaptables a vuestra configuración o gustos como puede ser la ubicación de los datos del contenedor de MQTT .
Aquí los ficheros que hemos utilizado en el vídeo
mosquitto.conf
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /mqtt/data/
log_dest file /mqtt/log/mosquitto.log
password_file /mqtt/config/mosquitto.passwd
allow_anonymous false
En el docker-compose.yml teneis que poner vuestra ruta al directorio de datos que habeis creado, como digo la ubicación puede ser cualquiera, no hace falta poner la que pongo yo de ejemplo.
docker-compose.yml
version: '3'
services:
mqtt:
container_name: mosquitto
image: eclipse-mosquitto:latest
ports:
- "1883:1883"
- "9001:9001"
volumes:
- /directorio/de/datos/creado/config:/mqtt/config
- /directorio/de/datos/creado/log:/mqtt/log
- /directorio/de/datos/creado/data/:/mqtt/data
Comando para añadir usuario y contraseña a Mosquitto MQTT Broker
mosquitto_passwd -c /mqtt/config/mosquitto.passwd zonagadget
Aquí finalizamos con MQTT en Docker y preparamos ya el Zigbee2mqtt también en Docker.