GROUU · System · Server Stack
Developed · reproducible from a compose file

The GROUU Stack

An open, containerised edge-server pipeline that any GROUU node can report into — messaging, flow logic, time-series storage and dashboards. Runs on any Linux host or Raspberry Pi from a single Docker Compose file.

Docker Compose Portainer MQTT · time-series · dashboards
Level of development

What's published

The stack is a complete, reusable recipe: a compose file plus the guidance to deploy and secure it. It runs live on the project's Raspberry Pi, ingesting the WellBouy node today.

Docker Compose Full four-service stack definition, deployable as-is. ✓ Available
Install guide Docker + Portainer setup, then deploy the stack. ✓ Available
Service configuration MQTT auth, InfluxDB buckets and Grafana data-source notes. ✓ Available
TTN bridge recipe For pulling LoRaWAN uplinks in — see GROUUWAN. ✓ Documented
How it works · services

Four containers, one pipeline

Mosquitto:1883

MQTT broker — receives every sensor uplink. Per-client authentication (anonymous access disabled).

Node-RED:1880

Flow-based processing — routes and parses messages (including TTN payloads) on the way to storage.

InfluxDB:8086

Time-series database — one bucket per source. All sensor history lives here.

Grafana:3000

Dashboards & visualisation, reading InfluxDB over the shared compose network.

Management Portainer :9000 — a web UI to deploy and manage the containers, images and volumes.
📊📷 Screenshot: a Grafana dashboard (or the live GROUU dashboard)
Data flow

Every node, one path

Sources

WiFi & LoRaWAN (via TTN) nodes

Ingest

Mosquitto → Node-RED

Store

InfluxDB time-series buckets

Visualise

Grafana dashboards

How to reuse · deploy

Three steps to a running stack

01
Install Docker

On any Linux host or Raspberry Pi.

02
Run Portainer

Container-management UI on :9000.

03
Deploy the stack

Paste the compose → Deploy.

docker compose up -d
mosquitto eclipse-mosquitto:2 → :1883
nodered nodered/node-red → :1880
influxdb influxdb:2 → :8086
grafana grafana/grafana → :3000
Full compose file, MQTT-auth guide and a security checklist live in the repository ↗
Reference files

The files behind the stack

docker-compose.yml — the four-service stack (representative; full file in the repo)

services:
  mosquitto:
    image: eclipse-mosquitto:2
    ports: ["1883:1883"]
    restart: always
  nodered:
    image: nodered/node-red:latest
    ports: ["1880:1880"]
    volumes: ["nodered-data:/data"]
    restart: always
  influxdb:
    image: influxdb:2
    ports: ["8086:8086"]
    volumes: ["influxdb-data:/var/lib/influxdb2"]
    restart: always
  grafana:
    image: grafana/grafana:latest
    ports: ["3000:3000"]
    restart: always
Requirements
Host
Linux / RPi
64-bit recommended
Engine
Docker
compose plugin
Network
LAN
static address advised
Storage
Volumes
per service