Documentation
Quick Start
Prerequisites
- Docker Desktop installed and running
- Git
- Make (optional, recommended)
Installation
git clone https://github.com/inferis995/openedge.git cd openedge make start
Verify
curl http://localhost:8081/ready
Expected: {status: ready, db: ok, redis: ok}
Access Dashboard
Open http://localhost:3000
Login: admin / admin123
Architecture
Drivers → Engine/Historian → Cloud Sync │ │ │ ▼ ▼ ▼ PostgreSQL ←→ Redis ←→ MQTT Cloud
Data Flow
- Drivers poll PLCs at configured scan rates
- Engine processes: deadband, alarm evaluation
- Historian stores in TimescaleDB
- Cloud Sync forwards to MQTT (optional)
Services
| Service | Port | Description |
|---|---|---|
| Web UI | 3000 | React dashboard |
| Core API | 8081 | REST API server |
| MQTT Broker | 18830 | Mosquitto |
| PostgreSQL | 5432 | TimescaleDB |
| Redis | 6379 | Real-time cache |
AI Agent Skills
OpenEdge ships with AI agent skills for autonomous deploy, configure, and monitor.
# Install all skills npx github:inferis995/openedge # Or individually npx github:inferis995/openedge openedge-ops npx github:inferis995/openedge openedge
openedge-ops
Deploy & configure from scratch.
- • Clone repo and run verified deploy
- • Create gateways (Modbus, S7, OPC UA)
- • Import tags in bulk
- • Diagnose and fix container issues
openedge
Monitor & query (read-only).
- • Check active alarms and severity
- • Read real-time tag values
- • Detect anomalies via Z-score
- • Generate alarm digests
Autonomous Monitoring
# Claude Code — check alarms every 5 min /schedule "*/5 * * * *" "controlla allarmi OpenEdge" # Shell cron */5 * * * * openclaw run openedge "controlla allarmi"
Protocols
Modbus TCP
Holding registers, coils, inputs
Siemens S7
S7-300/400/1200/1500
OPC UA
Browse nodes, subscribe
MQTT
Sparkplug B compliant
Redis
Key-based bridging
API Reference
Base: http://localhost:8081
Authentication
TOKEN=$(curl -s -X POST http://localhost:8081/api/auth/login \
-H 'Content-Type: application/json' \
-d '{"username":"admin","password":"admin123"}' \
| jq -r '.token')
curl -H "Authorization: Bearer $TOKEN" \
-H "X-Organization-ID: 1" \
http://localhost:8081/api/tagsCore Endpoints
GET
/healthHealth checkGET
/readyReadinessGET
/api/tagsList all tagsGET
/api/tags/:id/currentReal-time valuePOST
/api/tags/:id/writeWrite valueGET
/api/gatewaysList gatewaysGET
/api/alarms/activeActive alarmsGET
/api/historyHistorical dataGET
/api/aiops/summaryAI-Ops summaryConfiguration
# Database DB_HOST=postgres DB_PORT=5432 DB_USER=industrial_user DB_PASSWORD=industrial_pass DB_NAME=industrial_edge # MQTT MQTT_HOST=mosquitto MQTT_PORT=1883 # Redis REDIS_HOST=redis REDIS_PORT=6379 # Cloud Sync (Optional) CLOUD_SYNC_ENABLED=false
Deployment
Makefile Commands
make start # Build images + start services make up # Start services make down # Stop all services make restart # Stop + start make logs # Follow logs make clean # Full reset
Requirements
Minimum
- CPU: 2 cores
- RAM: 4 GB
- Disk: 20 GB SSD
Recommended
- CPU: 4 cores
- RAM: 8 GB
- Disk: 100 GB SSD