Go to file
Drasko DRASKOVIC 2afd866ec3 Add InfluxDB
Signed-off-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
2016-08-14 20:06:59 +02:00
config Migrate to Go 2016-08-09 21:28:44 +02:00
test/locust Add Locust test template 2016-05-18 20:41:21 +02:00
utils/postman Add Postman HTTP RESTful API testing collections 2016-05-18 20:38:36 +02:00
.gitignore Add Vim ignore 2016-05-18 20:37:46 +02:00
CONTRIBUTING.md Switch LICENSE to Apache v2.0 2015-10-09 23:35:23 +02:00
LICENSE Switch LICENSE to Apache v2.0 2015-10-09 23:35:23 +02:00
MAINTAINERS LICENSE, CONTRIBUTING and MAINTAINERS files 2015-10-04 05:10:45 +02:00
README.md Update README.md 2016-08-08 23:38:08 +02:00
docker-compose-local-config.yml Add InfluxDB 2016-08-14 20:06:59 +02:00
docker-compose.yml Add InfluxDB 2016-08-14 20:06:59 +02:00

README.md

Mainflux

License Join the chat at https://gitter.im/Mainflux/mainflux

About

Mainflux is an open source and patent-free IoT cloud platform based on microservices.

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

Cloud Architecture

Mainflux is built with <3 by Mainflux team and community contributors.

Features

An extensive (and incomplete) list of features includes:

  • Responsive and scalable architecture based on a set of microservices
  • Set of clean APIs: HTTP RESTful, MQTT, WebSocket and CoAP
  • SDK - set of client libraries for many HW platforms in several programming languages: C/C++, JavaScript, Go and Python
  • Device management and provisioning and OTA FW updates
  • Highly secured connections via TLS and DTLS
  • Standardized NGSI model representation
  • Enhanced and fine-grained security via Reverse Proxy, OAuth 2.0 identity management and RBAC Authorization Server.
  • LwM2M standard compliance
  • oneM2M adapter
  • Easy deployment and high system scalability via Docker images
  • Clear project roadmap, extensive development ecosystem and highly skilled developer community
  • And many more

Install/Deploy

Installation and deployment of Mainflux IoT cloud is super-easy:

  • Clone the repo:
git clone https://github.com/Mainflux/mainflux.git && cd mainflux
  • Start the Docker composition:
docker-compose up

This will automatically download Docker images from Mainflux Docker Hub and deploy the composition.

If you need to modify these Docker images, you will have to look at appropriate repos in the Mainflux project GitHub - look for the repos starting with prefix mainflux-<protocol>-server.

System Architecture

Mainflux IoT cloud is composed of several components, i.e. microservices:

  • Mainflux Core
  • Authentication and Authorization Server
  • HTTP API Server
  • MQTT API Server
  • WebSocket API Server
  • NATS PUB/SUB Broker
  • Mongo Database
  • Dashflux UI

Following diagram illustrates the architecture: Mainflux Arch And here is the matrix describes the functionality of each microservice in the system and gives the location of the code repositories:

Microservice Function GitHub repo
Mainflux Core Core Server mainflux-core-server
Auth Server Authentication and Authorization mainflux-auth-server
HTTP API Server HTTP API Server mainflux-http-server
MQTT API Server MQTT API Server mainflux-mqtt-server
WS API Server WS API Server mainflux-ws-server
NATS PUB/SUB Broker nats-io/gnatsd
MongDB Device Context Storage mongodb/mongo
Dashflux Dashboard UI dashflux

These components are packaged and deployed in a set of Docker containers maintained by Mainflux team, with images uploaded to Mainflux Docker Hub page.

Docker composition that constitues Mainflux IoT infrastructure is defined in the docker-compose.yml.

Documentation

Development documentation can be found on our Mainflux GitHub Wiki.

Community

Mailing lists

  • mainflux-dev - developers related. This is discussion about development of Mainflux IoT cloud itself.
  • mainflux-user - general discussion and support. If you do not participate in development of Mainflux cloud infrastructure, this is probably what you're looking for.

IRC

Mainflux Gitter

Twitter

@mainflux

License

Apache License, version 2.0