rumqttd
Rumqttd is a high performance MQTT broker written in Rust. It's light weight and embeddable, meaning you can use it as a library in your code and extend functionality
Getting started
You can directly run the broker by running the binary with a config file with:
cargo run --release -- -c rumqttd.toml
Example config file is provided on the root of the repo.
Building the docker image
In order to run rumqttd within a docker container, build the image by running build_rumqttd_docker.sh
from the project's root directory. The shell script will use docker to build rumqttd and package it along in an alpine image. You can then run rumqttd
with the included rumqttd.toml
as follows(ensure you are in the project's root directory):
How to use with TLS
To connect an MQTT client to rumqttd over TLS, create relevant certificates for the broker and client using provision as follows:
Update config files for rumqttd and rumqttc with the generated certificates:
[]
= "path/to/localhost.cert.pem"
= "path/to/localhost.key.pem"
= "path/to/ca.cert.pem"
You may also use certgen, tls-gen or openssl to generate self-signed certificates, though we recommend using provision.
NOTE: Mount the folders containing the generated tls certificates and the proper config file(with absolute paths to the certificate) to enable tls connections with rumqttd running inside docker.