A lightweight, high performance MQTT broker written in Rust, secure by default with a per instance credential generated on first boot.
rumqttd is an open source, lightweight, high performance MQTT message broker written in Rust, from the rumqtt project. It implements the MQTT v3.1.1 protocol over plain TCP and is designed to handle large numbers of concurrent client connections with low latency, making it a minimal, fast message backbone for IoT fleets, device telemetry, real time messaging and event driven applications.
It ships as a single self contained static binary with no language runtime and no external services, so the broker starts instantly and needs no database to run. Because it speaks the standard MQTT protocol it works as a drop in message backbone with any standard MQTT client library and with common MQTT tooling such as mosquitto clients, Node-RED, Grafana and Home Assistant.
The cloudimg image installs rumqttd under systemd and configures it to be secure by default. There is no default MQTT password: a unique broker username and password are generated on each instance's first boot, rendered into the broker configuration and a root only credentials file, and never baked into the image. Anonymous connections and wrong credential connections are rejected by the broker with a constant time comparison, and the broker runs as a dedicated unprivileged system user. The operating system ships fully patched with unattended security updates enabled, and a paired step by step deploy guide plus 24/7 cloudimg support are included.
This is a repackaged open source software product wherein additional charges apply for cloudimg support services.
Stop spending hours compiling, configuring and hardening an MQTT broker from source. This image delivers rumqttd, a lightweight, high performance MQTT message broker written in Rust, fully installed and running under systemd. A working, secured MQTT broker is listening within minutes of launch with no manual compilation, no dependency troubleshooting and no configuration required.
## Why rumqttd Over Other Broker Images
Unlike C-based MQTT brokers such as Mosquitto, rumqttd is built in Rust, a memory-safe language that eliminates entire classes of buffer-overflow and use-after-free vulnerabilities common in C broker implementations. It is a single self-contained static binary with no runtime dependencies, so there are no shared libraries that break during OS upgrades and no plugin ecosystem to patch independently. The upstream rumqtt project is actively maintained, and rumqttd is designed to handle large numbers of concurrent client connections with low latency.
## Secure by Default, Not by Afterthought
Many competing MQTT broker images ship with anonymous access enabled or a shared default password documented in public guides. This image takes the opposite approach:
## Protocol and Transport
Because rumqttd speaks the standard MQTT protocol, it works as a drop-in message backbone with any standard MQTT client library and with common MQTT tooling such as mosquitto clients, Node-RED, Grafana and Home Assistant, and it can bridge edge devices to AWS IoT Core.
## Use Case: IoT Sensor Fleet
Point a fleet of edge devices and sensors at the broker on port 1883, each authenticating with the per-instance credential, and publish telemetry to topic hierarchies that your backend services subscribe to for real-time processing, dashboards and alerting. Evaluate on a small instance with metered pricing and scale the instance size up as your connection count and message throughput grow.
## Getting Started
Launch the image, SSH into the instance and retrieve your generated MQTT credentials, then connect any MQTT client to port 1883 with the username 'cloudimg' and complete a publish and subscribe round-trip. The paired deployment guide walks you through first login, credential retrieval, the authenticated round-trip, and adding further MQTT users. cloudimg support can advise on instance sizing for your expected connection count and throughput.
This is a repackaged open source software product with additional charges for cloudimg support services. rumqttd is distributed under the Apache-2.0 license. cloudimg is not affiliated with or endorsed by the rumqtt project. All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.