Llega el momento de la configuración de MQTT Broker en docker. Lo parto en dos partes, por un lado la configuración de MQTT sin autenticación y después la configuración por si queremos añadir usuario y contraseña al broker.
Empezamos con la configuración, las explicaciones las puedes ver en el video, aquí pondré los comandos utilizados así como las configuraciones que uso en el vídeo.
Primero creamos un directorio para mqtt y dentro crearemos el docker-compose.yml con el siguiente contenido.
version: "3"
services:
mosquitto:
image: eclipse-mosquitto
network_mode: host
volumes:
- ./config:/mosquitto/config
- ./data:/mosquitto/data
- ./log:/mosquitto/log
Luego crearemos los tres directorios que utilizaremos y el fichero de configuración de Mosquitto.
mkdir config data log
cd config
nano mosquitto.conf
La configuración de mosquitto.conf si no queremos utilizar autenticación es la siguiente:
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
listener 1883
allow_anonymous true
Acabado esto solo tenemos que arrancar el contenedor de eclipse-mosquito con un
docker-compose up -d
Ahora solo nos queda entrar en Home Assistant y añadir la integración de mqtt y proporcionar los datos.
En el caso de querer poner autenticación , deberemos añadir al fichero mosquitto.conf la siguiente línea que indica donde tiene que buscar los usuarios y su contraseña.
password_file /mosquitto/config/mosquitto.passwd
Para añadir usuarios, deberemos entrar en el contenedor con
docker exec -it id_del_contenedor sh
Una vez dentro ejecutamos la siguiente orden, cambiando nombredeusuario por el nombre que quieres usar, esto nos pedirá introducir la contraseña que queremos usar para este usuario
mosquitto_passwd -c /mosquitto/config/mosquitto.passwd nombredeusuario
Acabamos esto salimos del contenedor y reiniciamos el contenedor para que coja los cambios.
docker-compose down
docker-compose up -d
Finalmente volvemos a Home Assistant y configuramos la integración de MQTT con usuario y contraseña.
Como siempre os dejo con el video con todas las explicaciones y el proceso de configuración paso a paso.