mosquitto ========= ![](https://badge.imagelayers.io/vimagick/mosquitto:latest.svg) [Mosquitto][1] is an open source (BSD licensed) message broker that implements the MQ Telemetry Transport protocol versions 3.1 and 3.1.1. ## docker-compose.yml ```yaml mosquitto: image: vimagick/mosquitto ports: - "1883:1883" - "8883:8883" volumes: - ./mosquitto.conf:/etc/mosquitto/mosquitto.conf - ./data:/var/lib/mosquitto restart: always ``` ## mosquitto.conf ``` port 8883 log_dest stdout password_file /var/lib/mosquitto/passwd persistence true persistence_location /var/lib/mosquitto cafile /var/lib/mosquitto/ca.crt certfile /var/lib/mosquitto/server.crt keyfile /var/lib/mosquitto/server.key require_certificate false ``` - `passwd` is managed by [mosquitto_passwd][3]. - TLS keys are generated by [openssl][2]. > It is important to use different certificate subject parameters for your CA, > server and clients. ## server ``` $ docker-compose up -d $ docker-compose logs -f Attaching to mosquitto_mosquitto_1 mosquitto_1 | 1478107412: mosquitto version 1.4.8 (build date 2016-05-16 14:17:19+0000) starting mosquitto_1 | 1478107412: Config loaded from /etc/mosquitto/mosquitto.conf. mosquitto_1 | 1478107412: Opening ipv4 listen socket on port 8883. mosquitto_1 | 1478107412: Opening ipv6 listen socket on port 8883. mosquitto_1 | 1478107437: New connection from 192.168.31.102 on port 8883. mosquitto_1 | 1478107437: New client connected from 192.168.31.102 as mosqsub/38158-Kevins-Ma (c1, k60). mosquitto_1 | 1478107585: New client connected from 192.168.31.102 as mosqpub/38324-Kevins-Ma (c1, k60). mosquitto_1 | 1478107585: Client mosqpub/38324-Kevins-Ma disconnected. ``` ## client ```bash $ mosquitto_sub -d -h 192.168.31.231 -p 8883 --cafile ca.crt --insecure -t hello Client mosqsub/38158-Kevins-Ma sending CONNECT Client mosqsub/38158-Kevins-Ma received CONNACK Client mosqsub/38158-Kevins-Ma sending SUBSCRIBE (Mid: 1, Topic: hello, QoS: 0) Client mosqsub/38158-Kevins-Ma received SUBACK Subscribed (mid: 1): 0 Client mosqsub/38158-Kevins-Ma sending PINGREQ Client mosqsub/38158-Kevins-Ma received PINGRESP received PUBLISH (d0, q0, r0, m0, 'hello', ... (5 bytes)) world Client mosqsub/38158-Kevins-Ma sending PINGREQ Client mosqsub/38158-Kevins-Ma received PINGRESP ``` ```bash $ mosquitto_pub -d -h 192.168.31.231 -p 8883 --cafile ca.crt --insecure -t hello -m world Client mosqpub/38324-Kevins-Ma sending CONNECT Client mosqpub/38324-Kevins-Ma received CONNACK Client mosqpub/38324-Kevins-Ma sending PUBLISH (d0, q0, r0, m1, 'hello', ... (5 bytes)) Client mosqpub/38324-Kevins-Ma sending DISCONNECT ``` [1]: http://mosquitto.org/ [2]: https://mosquitto.org/man/mosquitto-tls-7.html [3]: https://mosquitto.org/man/mosquitto_passwd-1.html