How benoitpralong/tpnodered works
This repository defines a Docker-based industrial/IoT stack. Its principal workflow sends UTF-8 messages through Kafka and Node-RED into PostgreSQL, while Node-RED also reads the OPC UA CAB tag into TimescaleDB and writes a random value to Direction. Separate branches provide Kafka administration and log observability. Relationships are based on the README; aside from the OPC UA server, implementation excerpts were not provided, so internal details of those services are not inferred.
Main entry points: flows.json Node-RED flows · docker-compose.yml Kafka broker · server.py OPC UA server · alloy-config.alloy Alloy collector
Components 15
Integration workflow
- Kafka broker
docker-compose.yml - Node-RED flows
nodered/flows.json
Data services
- PostgreSQL
docker-compose.yml - PostgreSQL schema
postgres-init/001-timescaledb.sql - TimescaleDB
docker-compose.yml - Timescale schema
timescaledb-init/001-timescaledb.sql
Industrial interface
- OPC UA server
opcua-server/server.py
Observability
- Alloy collector
observability/alloy-config.alloy - Loki log store
observability/loki-config.yml - Grafana dashboards
observability/grafana/provisioning/dashboards - Loki datasource
observability/grafana/provisioning/datasources/loki.yml
Administration
- Schema Registry
docker-compose.yml - AKHQ console
docker-compose.yml - pgAdmin
docker-compose.yml
Other components
- Message producer
Connections 11
- Message producer → Kafka broker: sends messages
readme.md - Kafka broker → Node-RED flows: provides messages
readme.md - Node-RED flows → PostgreSQL: inserts text
readme.md - Node-RED flows → OPC UA server: reads CAB; writes Direction
readme.md - Node-RED flows → TimescaleDB: stores sample
readme.md - PostgreSQL schema → PostgreSQL: initializes schema
readme.md - Timescale schema → TimescaleDB: initializes schema
readme.md - OPC UA server → Alloy collector: emits logs
readme.md - Alloy collector → Loki log store: forwards logs
readme.md - Grafana dashboards → Loki datasource: provisions datasource
readme.md - Loki datasource → Loki log store: queries logs
readme.md