/mainflux

Industrial IoT Messaging and Device Management Server

Primary LanguageGoApache License 2.0Apache-2.0

Mainflux

build go report card license chat

banner

Mainflux is modern, scalable, secure open source and patent-free IoT cloud platform written in Go.

It accepts user, device, and application connections over various network protocols (i.e. HTTP, MQTT, WebSocket, CoAP), thus making a seamless bridge between them. It is used as the IoT middleware for building complex IoT solutions.

For more details, check out the official documentation.

Features

  • Protocol bridging (i.e. HTTP, MQTT, WebSocket, CoAP)
  • Device management and provisioning
  • Linearly scalable data storage
  • Fine-grained access control
  • Platform logging and instrumentation support
  • Container-based deployment using Docker

Quickstart

Docker

To start the docker composition, execute the startup script from bin directory:

./mainflux-docker.sh start  

If the command successfully completes, you can verify that the all images are up & running by executing the following command in the terminal window:

docker ps

The composition can be terminated in the following way:

./mainflux-docker.sh stop

From sources

To download all the sources, and place them in appropriate locations (i.e. $GOPATH), use the installation script. Once it completes, the script will provide the instructions on how to finish the manual installation (i.e. install the required infrastructure).

Contributing

Thank you for your interest in Mainflux and wish to contribute!

  1. Take a look at our open issues.
  2. Checkout the contribution guide to learn more about our style and conventions.
  3. Make your changes compatible to our workflow.

Community