Skip to content

Docker compose file for working with Mosquitto MQTT Broker

Notifications You must be signed in to change notification settings

kingsor/mosquitto-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mosquitto MQTT Broker using docker compose

This is a simple Mosquitto broker to quickly initialize projects requiring an MQTT broker.

Prerequisite

Before you can deploy Mosquitto using Docker Compose, you will need to have a few things in place. Here are the prerequisites:

  • Docker - You will need to have Docker installed on your system. If you don't have Docker installed already, you can download it from the official Docker website. Be sure to download the version that is appropriate for your operating system.
  • Docker Compose - You will also need to have Docker Compose installed on your system. Docker Compose comes pre-installed with Docker Desktop for Windows and macOS, but if you are using Linux or if you need to install it separately, you can follow the instructions on the Docker Compose documentation page for Linux.

Configuration

The config file is in the file mosquito.conf

By default it's activated the log and data persistance (logs are in the log folder, and data are stored in a docker volume).

Authentication

Enable authentication

In the config file, set the value allow_anonymous to false, then uncomment the last line (password_file) and finaly restart the container.

Change user password / create a new user

docker compose exec mosquitto mosquitto_passwd -b /mosquitto/config/password.txt user password
docker compose restart

Delete user

docker compose exec mosquitto mosquitto_passwd -D /mosquitto/config/password.txt user
docker compose restart

How to use

Clone this repo on your machine.

In a terminal window go to the folder where you cloned this repo. Default name is mosquitto-compose.

Then you can start Mosquitto:

docker compose up -d

Then Docker download mosquitto image and start the container.

PS C:\Projects\00-Docker-Projects\mosquitto-compose> docker compose up -d
[+] Running 4/4
 ✔ mosquitto Pulled                                                                                                4.1s
   ✔ 619be1103602 Pull complete                                                                                    1.2s
   ✔ 8432d2a45fb0 Pull complete                                                                                    1.4s
   ✔ 01fa0d8dc76f Pull complete                                                                                    1.5s
[+] Running 2/2
 ✔ Network mosquitto-compose_default  Created                                                                      0.2s
 ✔ Container mosquitto                Started                                                                      0.7s
PS C:\Projects\00-Docker-Projects\mosquitto-compose>

Now the Mosquitto broker is available at localhost port 1883.

You can test with a client like MQTTX.

References

For creating this repo I used the following references:

About

Docker compose file for working with Mosquitto MQTT Broker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published