modular, open-architecture, Unified Namespace focused, Industrial-IoT data stack
Quickstart
·
Explore the docs
Report Bug
·
Request Feature
The UNStack is a modular, open-architecture, Unified Namespace focused, Industrial-IoT data stack.
It delivers your data from your edge devices to your central dashboards and beyond.
Even in small commercial applications, you quickly reach the limitations of the MING stack.
This is where the UNStack comes in!
The numbering follows the automation pyramid: sort the folders and you get the hierarchy.
/\ GLOBAL:
/ \ 05_grafana
/ \ 09_adminer
/ \ 10_connect_global-to-postgres
/ \ 11_timescaledb
/ \ 19_nodered_global
/ \ 20_connect_factory1-to-global
/______________\ 30_redpanda_broker-global
__________________
/ \ EDGE:
/ \ 55_connect_kafka-to-cloud
/ \ 60_redpanda_broker-edge
/ \ 65_connect_mqtt-to-kafka
/ \ 80_nodered_edge
/ \ 90_mosquitto_broker-edge
/ \ 91_telegraf_opcua-to-mqtt
/________________________________\ 99_opcplc_opcua-simulator
- Grafana (Dashboards) (Github, Docker Hub)
- TimescaleDB (PostgreSQL extension) (Github, Docker Hub)
- Redpanda Connect (ETL-Tool) (Github, Docker Hub)
- Redpanda (Kafka Broker) (Github, Docker Hub)
- Node-RED (Low-code logic) (Github, Docker Hub)
- Mosquitto (MQTT-Broker) (Github, Docker Hub)
- Adminer (Database management) (Github, Docker Hub)
- Telegraf (ETL-Tool) (Github, Docker Hub)
- Redis (topic-id cache for Connect) (Github, Docker Hub)
- OPCUA-Simulator (Github, Docker Hub)
- Keep-It-Simple
- Containers Only, Linux Only
- Open Architecture / Open Standards Only
- S..t happens - design for troubleshooting
- Don’t reinvent the wheel – integrate best-in-class tools instead of forking or building them
Industrial-IoT platforms often cost an arm and a leg, while providing a hard vendor lock-in and ridiculously low amounts of innovation. Small and medium sized businesses should not be locked out of digitalization, due to software costs.
Insecure by default. Lab/dev stack, no authentication on most services. Read INSECURITY.md before exposing it to any network.
- Prerequisites: Linux, Docker Engine + Compose v2 (or rootless Podman with the
dockeralias) - Install:
cd /srv
git clone https://github.com/the-unstack/unstack.git
cd unstack
cp .env.example .env # edit: passwords, STACK_DATA_DIR
./container_all_restart.sh
- Access (replace
hostip):- Grafana: http://hostip:3000
- Node-RED: http://hostip:1881 (global), http://hostip:1880 (edge)
- Redpanda Console: http://hostip:8090 (global), http://hostip:8080 (edge)
- Adminer: http://hostip:3010
- all ports: see the table in AGENTS.md
- v1: One-way, reporting-only (edge ➜ global)
- v2: Two-way, full unified-namespace (edge ⇄ global)
Distributed under the Apache-2.0 license. See LICENSE for more information.
Marc Lüerssen - Email, LinkedIn
Project link: https://github.com/the-unstack/unstack