Skip to content

⚡ Luke's UMH Starter Kit — batteries-included UMH Core stack to build your Unified Namespace. One command to deploy.

Notifications You must be signed in to change notification settings

SheetMetalConnect/UMH-Core-Stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ Luke's UMH Starter Kit

UMH Core TimescaleDB Grafana PgBouncer HiveMQ CE Node-RED NGINX Docker Compose

Opinionated, batteries-included starter kit to build your Unified Namespace with UMH Core. One docker compose up -d and you're running. Community contribution — not affiliated with UMH.

For official UMH documentation, configuration, and support: docs.umh.app This repo only adds opinionated defaults, addons, and data flow templates on top of the official stack.

What's Inside

Layer Services
UMH Official UMH Core, TimescaleDB, PgBouncer, Grafana
Addons HiveMQ CE (MQTT), Node-RED, Portainer, NGINX, PostgreSQL MCP
Data Flows Historian bridge, ERP dedup + history, MQTT bridge + feedback
Schema asset, tag, tag_string hypertables (UMH ships empty DB)

Quick Start

git clone https://github.com/SheetMetalConnect/UMH-Core-Stack.git
cd UMH-Core-Stack

cp .env.example .env
# Edit .env — paste your AUTH_TOKEN from https://management.umh.app

docker compose up -d
docker compose ps

Access Points

Service URL Credentials
Grafana http://localhost:3000 admin / changeme
Node-RED http://localhost:1880
Portainer http://localhost:9000 set on first login
MQTT mqtt://localhost:1883
PostgreSQL localhost:5432 postgres / changeme
MCP (Postgres) http://localhost:3003
NGINX http://localhost:80

Deploy Historian

Data does not automatically persist to TimescaleDB — you need a DataFlow:

  1. Open Management Console → your instance → Data Flows → Stand-alone
  2. Click Add, paste contents of examples/databridges/flows/historian.yaml
  3. Deploy

Passwords

All default passwords are changeme. Find and replace before production:

grep -r "changeme" . --include="*.yaml" --include="*.example" --include="*.sh"

Repo Structure

├── docker-compose.yaml          # Full stack
├── .env.example                 # Environment template — start here
├── nginx.conf                   # Reverse proxy config
├── configs/
│   ├── nodered/settings.js
│   ├── grafana/provisioning/
│   └── timescaledb-init/        # Historian schema (auto-runs on first boot)
├── examples/
│   ├── databridges/flows/       # Generic DataFlows (historian, ERP, OPC-UA)
│   ├── databridges/sql/         # ERP schema extensions
│   ├── simulator/               # MetalFab simulator overlay + flows
│   ├── historian/               # Reference overlay (not required)
│   └── mcp/                     # Standalone MCP overlay
└── docs/                        # Extended docs (data modeling, networking, etc.)

Production Checklist

  • Replace all changeme passwords (see above)
  • Set AUTH_TOKEN from Management Console
  • Configure TLS — place certs in ./certs, uncomment HTTPS block in nginx.conf
  • Restrict NGINX CORS headers (currently allows *)
  • Set up database backups

Demo Data (Optional)

Want to see data flowing end-to-end? Add the MetalFab UNS Simulator — 22 simulated machines publishing sensor data through the full pipeline:

docker compose -f docker-compose.yaml -f examples/simulator/docker-compose.simulator.yaml up -d

Simulator → HiveMQ → UMH Core → historian flow → TimescaleDB → Grafana. The simulator publishes both _raw (unvalidated) and _energy-monitor_v1 (validated data contract) topics — see docs/data-modeling.md for the difference. Includes browser-based dashboards via MQTT WebSocket.

Contributing

Community-driven deployment package for UMH. Contributions welcome.

  • Test with fresh .env from .env.example
  • Verify: docker compose up -d && docker compose ps
  • Validate: docker compose config

Attribution

Built on the official UMH Docker Compose template. All components, docs, and licenses remain with their respective owners.

Maintained by Luke van Enkhuizen — independent, not affiliated with UMH.

Resources

About

⚡ Luke's UMH Starter Kit — batteries-included UMH Core stack to build your Unified Namespace. One command to deploy.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors