/
Instalar y configurar MQTT (Mosquitto)
Search
Try Notion
Instalar y configurar MQTT (Mosquitto)
Fecha publicación
2021/11/12
#
20
Dificultad
Básico
3 more properties
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
Plain Text
Árbol de ficheros y directorios
/docker-data/mqtt# tree . ├── data │   └── persistence.db ├── etc │   ├── mosquitto.conf │   └── mqtt_users ├── launch.sh └── log └── mosquitto.log
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
Bash
Cambio de propietarios
chown -R mqtt.mqtt /docker-data/mqtt
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
Bash
docker-compose.yml
version: '3.3' services: mqtt: container_name: mqtt ports: - '1883:1883' - '9001:9001' volumes: - './etc/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro' - './etc/mqtt_users:/mosquitto/config/mqtt_users:ro' - './data:/mosquitto/data' - './log:/mosquitto/log' restart: unless-stopped image: eclipse-mosquitto
YAML
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
Bash
CONTENIDO