Skip to content

FlashMQ is a fast light-weight MQTT broker/server, designed to take good advantage of multi-CPU environments

License

Notifications You must be signed in to change notification settings

slavslavov/FlashMQ

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FlashMQ

building testing linting docker

FlashMQ is a high-performance, light-weight MQTT broker/server, designed to take good advantage of multi-CPU environments.

Builds (AppImage and a Debian/Ubuntu apt server) are provided on www.flashmq.org.

Building from source

Building from source should be done with build.sh. It's best to checkout a tagged release first. See git tag.

If you build manually with cmake with default options, you won't have -DCMAKE_BUILD_TYPE=Release and you will have debug code enabled and no compiler optimizations (-O3). In other words, it's essentially a debug build, but without debugging symbols.

Docker

Official Docker images aren't available yet, but building your own Docker image can be done with the provided Dockerfile.

# It's best to checkout a tagged release. See 'git tag'.
git checkout <tag name>

# build flashmq docker image
docker build . -t halfgaar/flashmq

# run using docker (with, as an example, a place for a config file (default
# name flashmq.conf). Create extra volumes as you need, for the persistence DB
# file, logs, password files, auth plugin, etc.
docker run -p 1883:1883 -v /srv/flashmq/etc/:/etc/flashmq halfgaar/flashmq

# for development you can target the build stage to get an image you can use for development
docker build . --target=build

Plugins

A plugin interface is defined and documented in flashmq_plugin.h. It allows custom authentication and other behavior.

See the examples directory for example implementations of this interface.

Commercial services

If your company requires commercial FlashMQ services, go to www.flashmq.com. Services include:

  • the development of custom FlashMQ plugins;
  • MQTT integration advice; and
  • managed FlashMQ. Send an email to [email protected] to be notified for early trials.

About

FlashMQ is a fast light-weight MQTT broker/server, designed to take good advantage of multi-CPU environments

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 98.7%
  • Other 1.3%