This repository provides a rapid deployment setup for the MING stack: MQTT, InfluxDB, Node-RED, and Grafana. Designed for simplicity, this environment is containerized using Docker and orchestrated with docker-compose
.
Before you begin, ensure you have the following:
- Docker and Docker Compose installed on your system.
- A fundamental understanding of Docker and containerization concepts.
Quick MING/
│
├── mosquitto # MQTT Broker configurations
│ ├── Dockerfile
│ └── ...
│
├── node-red # Node-RED configurations and flows
│ ├── Dockerfile
│ └── ...
│
├── .env # Environment variables for services
└── docker-compose.yaml # Docker Compose configuration
-
Clone the repository:
git clone https://github.com/DMDuFresne/Quick-MING.git
-
Rename
example.env
to.env
and configure the environment variables according to your setup. -
Ensure ports in
docker-compose.yaml
are not in use or change them accordingly.
-
Start the environment by running:
docker-compose up -d --build
-
Use the stack to build whatever you want.
The stack includes:
-
Mosquitto: MQTT broker on port
1883
. -
InfluxDB: Time-series database on port
8086
. -
Node-RED: Wiring tool for devices and online services on port
1880
. -
Grafana: Monitoring and observability platform on port
3000
. -
Telegraf: An agent for collecting, processing, aggregating, and writing metrics.
This project is possible thanks to the use and support from the following open-source projects:
-
Eclipse Mosquitto: A reliable and lightweight MQTT broker.
-
InfluxDB: A purpose-built database designed to handle time-stamped data at scale.
-
Node-RED: A visual tool for wiring the Internet of Things.
-
Grafana: An analytics platform for all your metrics.
-
Telegraf: A server agent to collect metrics.
-
mpous/ming: The MING stack as used in this project is inspired by the work done by Marc Pous.
Each tool brings unique capabilities to any project, and their combination allows for a robust data monitoring solution. For their individual licensing terms, please refer to their respective websites or documentation.