Descripción
Se describe como instalar el broker de mensajes MQTT, concretamente Mosquitto. Se usará docker-compose para simplificar el proceso de ejecución, gestión y migración. Además también se describe como hacer la gestión de usuarios.
Contenidos:
Añadir usuario y grupo con UID/GID fijos
groupadd mqtt -g 1883
useradd mqtt -u 1883 -g 1883 -m -s /bin/true
Copy
Plain Text
Árbol de ficheros y directorios
/docker-data/mqtt# tree
.
├── data
│ └── persistence.db
├── etc
│ ├── mosquitto.conf
│ └── mqtt_users
├── launch.sh
└── log
└── mosquitto.log
Copy
Shell
Comandos para la creación de los directorios y ficheros requeridos
mkdir -p /docker-data/mqtt/data
mkdir /docker-data/mqtt/etc
mkdir /docker-data/mqtt/log
touch /docker-data/mqtt/etc/mqtt_users
touch /docker-data/mqtt/etc/mosquitto.conf
Copy
Bash
Cambio de propietarios
chown -R mqtt.mqtt /docker-data/mqtt
Copy
Bash
Fichero de configuración
/docker-data/mqtt/etc/mosquitto.conf
listener 1883
listener 9001
protocol websockets
persistence true
autosave_interval 60
persistence_file /mosquitto/data/persistence.db
persistent_client_expiration 1d
allow_anonymous false
password_file /mosquitto/config/mqtt_users
log_type information
log_timestamp true
log_dest file /mosquitto/log/mosquitto.log
Copy
Bash
docker-compose.yml
Añadir usuarios
docker exec -it mqtt /bin/sh
cd /mosquitto/data
mosquitto_passwd -c tmp <username>
#
# enter user password
#
exit
cd /docker-data/mqtt/etc
cat ../data/tmp >> mqtt_users
rm ../data/tmp
Copy
Bash
CONTENIDO