Home

Awesome

VerneMQ: A Distributed MQTT Broker

Build and Smoketest Status <a href="https://docs.vernemq.com"> <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" target="_blank" /> </a> <a href="https://github.com/vernemq/vernemq/graphs/commit-activity"> <img alt="Maintenance" src="https://img.shields.io/badge/maintained-yes-green.svg" target="_blank" /> </a> <a href="https://github.com/vernemq/vernemq/releases/latest"> <img alt="GitHub Release Date" src="https://img.shields.io/github/release-date/vernemq/vernemq"></a> <a href="https://github.com/vernemq/vernemq/commits/main"> <img alt="GitHub last commit" src="https://img.shields.io/github/last-commit/vernemq/vernemq"></a> <a href="https://twitter.com/vernemq"> <img alt="Twitter: VerneMQ" src="https://img.shields.io/twitter/follow/vernemq.svg?style=social" target="_blank" /> </a> <a href="https://fosstodon.org/@VerneMQ"> <img alt="VerneMQ on Fosstodon" src="https://img.shields.io/mastodon/follow/110683123510225618?domain=https%3A%2F%2Ffosstodon.org"></a>

Google group : VerneMQ Users

Old Docker RepoNew Docker Repo
Docker Pulls from Old RepoDocker Pulls from New Repo

New: VerneMQ can now use Github Discussions! To join the discussion on features and roadmap, and be part of the <strong>VerneMQ Community Team</strong> on Github, send us your Github username for an invite! (on Twitter, Slack etc.)

Make sure to visit the new VerneMQ Forum hosted on Erlang Forums. We're happy to discuss any of your questions and ideas around VerneMQ on the Forum too!


VerneMQ is known to be deployed and used in: :us: :canada: :brazil: :mexico: :de: :fr: :switzerland: :denmark: :netherlands: :belgium: :it: :es: :romania: :portugal: :ru: :lithuania: :czech_republic: :slovakia: :austria: :poland: :norway: :sweden: :india: :jp: :indonesia: :vietnam: :kr: :south_africa: :kenya: :serbia: :croatia: :greece: :uk: :ukraine: :australia: :new_zealand: :cn: :egypt: :finland: :hungary: :israel: :singapore: :lebanon: :philippines: :pakistan: :malaysia: :tr: :taiwan: :iran: :cloud:


VerneMQ Logo

VerneMQ is a high-performance, distributed MQTT message broker. It scales horizontally and vertically on commodity hardware to support a high number of concurrent publishers and consumers while maintaining low latency and fault tolerance. VerneMQ is the reliable message hub for your IoT platform or smart products.

VerneMQ is an Apache2 licensed distributed MQTT broker, developed in Erlang.

MQTT used to stand for MQ Telemetry Transport, but it no longer is an acronym. It is an extremely simple and lightweight publish/subscribe messaging protocol, that was invented at IBM and Arcom (now Eurotech) to connect restricted devices in low bandwidth, high-latency or unreliable networks.

VerneMQ implements the MQTT 3.1, 3.1.1 and 5.0 specifications. Currently the following features are implemented and delivered as part of VerneMQ:

The following features are also applies to MQTT 5.0 clients:

Commercial Support. Binary Packages. Documentation

Below you'll find a basic introduction to building and starting VerneMQ. For more information about the binary package installation, configuration, and administration of VerneMQ, please visit our documentation at VerneMQ Documentation or checkout the product page VerneMQ if you require more information on the available commercial support options.

VerneMQ Release Schedule

VerneMQ releases will be annonced based on bugfixes and features.

Usually a bugfix release will be cut between minor releases or if there's an urgent bugfix pending.

Custom releases can be offered for commercial users.

Quick Start

This section assumes that you have a copy of the VerneMQ source tree. To get started, you need to first build VerneMQ.

Building VerneMQ

Note: VerneMQ requires Erlang/OTP 24-26 and libsnappy-dev installed in your system. You'll also need a C compiler for Eleveldb. (on Debian, you install build-essential, as an example).

Assuming you have a working Erlang installation, building VerneMQ should be as simple as:

$ cd $VERNEMQ
$ make rel

Starting VerneMQ

Once you've successfully built VerneMQ, you can start the server with the following commands:

$ cd $VERNEMQ/_build/default/rel/vernemq
$ bin/vernemq start

If VerneMQ is running it is possible to check the status on http://localhost:8888/status and it should look something like:

<img src="https://i.imgur.com/XajYjtb.png" width="75%">

Note that the $VERNEMQ/_build/default/rel/vernemq directory is a complete, self-contained instance of VerneMQ and Erlang. It is strongly suggested that you move this directory outside the source tree if you plan to run a production instance.

Important links

Thank you to all our contributors!

contributors