Freedom251 › Message Broker Software
Moquette

What Moquette is
Moquette is a free, Apache-2.0-licensed Java MQTT broker for Internet of Things projects. It supports MQTT 3 and MQTT 5, with configurable QoS 0, QoS 1, and QoS 2 delivery, and can run as a standalone broker or be embedded in another application. Documented MQTT 5 functions include session and message expiry, shared subscriptions, request/response, topic aliases, flow control, subscription options, will delay, server disconnects, and payload format indicators. The project describes an event-driven architecture using Netty for protocol encoding and decoding. Operators can configure SSL with broker and client keystores, authenticate through a password file containing SHA-512 hashes, and apply user-specific or pattern-based topic ACLs. Moquette uses the same configuration-file format as Eclipse Mosquitto. Distributions can be launched on Linux or Windows, source builds create self-contained bundles, and JitPack supports embedding. Android setup guidance is also provided.
Who it suits
Moquette fits developers and operators building or hosting MQTT infrastructure for IoT systems. It is suited to self-hosted deployments, embedded applications, and projects needing MQTT 3 or MQTT 5 controls.
What it does well
- Free under Apache-2.0 license
- MQTT 3 and MQTT 5 support
- QoS 0, 1, and 2
- Embeddable in other applications
- SSL, authentication, and topic ACLs
What to know first
- Several MQTT 5 features are unsupported
- Not designed for clusterizable deployments
- Requires self-hosted setup and administration
Verdict
Moquette provides a free, embeddable MQTT broker with broad protocol and access-control features. Its documented unsupported MQTT 5 functions and lack of cluster design matter when planning production architecture.
Facts from Moquette's own pages
- Access control
- Moquette documents user-specific and pattern topic ACLs, plus pluggable authentication and authorization interfaces. · moquette-io.github.io, 9 Oct 2026
- Android
- The documentation says some users have run Moquette in Android applications and lists Android project configuration changes for that setup. · moquette-io.github.io, 9 Oct 2026
- Architecture
- The README says Moquette is event-driven and uses Netty for protocol encoding and decoding. · github.com, 9 Oct 2026
- Authentication
- The documentation describes storing user credentials in a password file as username and SHA-512 password hash entries. · moquette-io.github.io, 9 Oct 2026
- Authorization
- The documentation describes user-specific and pattern-based topic access control lists and a customizable authorization policy. · moquette-io.github.io, 9 Oct 2026
- Build
- The repository README says the project can be built from source with ./gradlew package, producing a self-contained distribution bundle. · github.com, 9 Oct 2026
- Cluster support
- The release notes state that Hazelcast was dropped because Moquette was not designed to be clusterizable. · github.com, 9 Oct 2026
- Community and support
- The project README invites community feedback and links to its documentation reference guide. · github.com, 9 Oct 2026
- Company information
- The opened maker pages identify Moquette as a Java MQTT broker but do not state a company headquarters or founding year. · moquette-io.github.io, 9 Oct 2026
- Configuration compatibility
- The documentation says Moquette shares the same configuration file format as Eclipse Mosquitto. · moquette-io.github.io, 9 Oct 2026
- Distribution
- The documentation describes downloading a broker distribution tar archive and starting it with a shell script or Windows batch file. · moquette-io.github.io, 9 Oct 2026
- Embedding
- The maker says Moquette can be embedded in other projects and documents resolving its dependency with JitPack. · github.com, 9 Oct 2026
- License
- The repository identifies the project license as Apache-2.0. · github.com, 9 Oct 2026
- MQTT 5 features
- Listed features include session and message expiry, shared subscriptions, request/response, topic alias, flow control, subscription options, will delay, server disconnects, and payload format indicator. · github.com, 9 Oct 2026
- MQTT 5 limits
- The 0.18 release notes say enhanced authentication, maximum packet size limitation, server reference, and server assigned client ID are not supported. · github.com, 9 Oct 2026
- Network security
- The documentation describes configuring SSL connections with a broker keystore and importing the broker certificate into a client keystore. · moquette-io.github.io, 9 Oct 2026
- Product
- Moquette is a lightweight Java MQTT broker for Internet of Things projects that can be embedded in other applications. · moquette-io.github.io, 9 Oct 2026
- Protocols
- The broker is described as compliant with MQTT 5 and MQTT 3 and supports QoS 0, QoS 1, and QoS 2. · github.com, 9 Oct 2026
- Purpose
- Moquette is a lightweight Java MQTT broker for IoT projects that can be embedded in other applications. · moquette-io.github.io, 9 Oct 2026
- Standalone build
- The README says a source build produces a self-contained broker distribution with dependencies and a running script. · github.com, 9 Oct 2026
- Support
- The project site links to a mailing list, and the repository README invites users to share feedback about their use of Moquette. · moquette-io.github.io, 9 Oct 2026
- Transport security
- The documentation explains configuring SSL connections using broker and client keystores and certificates. · moquette-io.github.io, 9 Oct 2026
- Windows
- The documentation provides a Windows launch command using moquette.bat. · moquette-io.github.io, 9 Oct 2026
Where Moquette stands on Freedom251
- Message Broker Software#28 of 39
