Files
smart-city-digital-twin-mar…/snapshots/2026-05-23/ARCHITECTURE.md
Eric FELIXINE 6d1d9c8620 fix: telegraf containers names + openremote pg image + session snapshot 2026-05-25
- telegraf.conf: fix Mosquitto/BunkerM container names (hyphens not underscores)
- tegraf.conf: comment out BunkerM consumer (auth fails, simulator not sending)
- openremote/docker-compose.yml: switch PG image to timescaledb-ha:pg15 (fixes timescaledb_toolkit crash)
- Add session_resume + architecture snapshot 2026-05-25
- Update TODO.md with current status
2026-05-25 14:13:39 -04:00

11 KiB

Smart City Digital Twin Martinique — Architecture des Stacks

Snapshot: 2026-05-23 12:00 Total: 117 containers / 26 stacks

🌐 Infrastructure Réseau

Réseau Driver Usage
traefik bridge Reverse proxy principal
traefik-public bridge Services exposés
smartcity-shared bridge Réseau partagé smart city
mainflux-network bridge Stack Mainflux
emqx_default bridge Broker EMQX
contexus-iot-network bridge Stack Contexus
fiware-gis-quickstart_fiware bridge FIWARE
mapstore2_mapstore-network bridge MapStore
honcho_default bridge Honcho
digital-twin_digital-twin bridge NodeRed + Connector
openremote_default bridge OpenRemote (actuellement DOWN)
docker_default bridge Stack principale
bridge bridge Défaut Docker

📦 Stacks Détaillées

1. TRAFICKO (1 container)

Service Image Ports
traefik traefik:v3.1 80, 443, 8404

2. SMART-CITY-CORE (17 containers) ⚠️ 7 issues

Service Image Status Ports
smart-city-simulator smart-city-digital-twin-martinique-simulator 🔴 CRASH (exit 137, 896 restarts) 8081
smart-city-telegraf telegraf:1.28 🔴 Restart boucle -
smart-city-influxdb influxdb:2.7-alpine Healthy 8086
smart-city-grafana grafana/grafana:10.2.0 Up 3001
smart-city-loki grafana/loki:latest Up 3100
smart-city-promtail grafana/promtail:latest Up -
smart-city-kepler smart-city-kepler:latest Up 80, 8080
smart-city-redpanda-console redpandadata/console:v2.5.0 Restart -

3. SMART-CITY-IOT (5 containers)

Service Image Status Ports
smart-city-ditto-gateway eclipse/ditto-gateway:latest Up 8080
smart-city-ditto-policies eclipse/ditto-policies:latest Up 8080
smart-city-ditto-mongodb mongo:6 Up 27017
smart-city-digital-twin-martinique-mosquitto-1 eclipse-mosquitto:2 Up 1883
smart-city-digital-twin-martinique-redis-1 redis:7-alpine Up 6379

4. MAINFLUX (39 containers) ⚠️ 1 issue

Service Image Status Ports
mainfluxlabs-ui mainfluxlabs/ui:v0.36.1 Up 3000
mainfluxlabs-users mainfluxlabs/users:v0.36.1 Up 8180, 8184
mainfluxlabs-auth mainfluxlabs/auth:v0.36.1 Up 8181, 8189
mainfluxlabs-things mainfluxlabs/things:v0.36.1 Up 8182-8183, 8989
mainfluxlabs-mqtt mainfluxlabs/mqtt:v0.36.1 Up -
mainfluxlabs-http mainfluxlabs/http:v0.36.1 Up 8185
mainfluxlabs-ws mainfluxlabs/ws:v0.36.1 Up 8190
mainfluxlabs-coap mainfluxlabs/coap:v0.36.1 Up 5683
mainfluxlabs-modbus mainfluxlabs/modbus:v0.36.1 Up 9028
mainfluxlabs-broker nats:2.2.4-alpine Up 4222, 8222
mainfluxlabs-mosquitto eclipse-mosquitto:2.0 Up 1883
+ 28 autres services DB/writer/reader/notifier Up

5. THINGSBOARD (14 containers) ⚠️ 7 issues

Service Image Status Ports
docker_tb-web-ui1_1 thingsboard/tb-web-ui:latest Up 32769→8080
docker_tb-web-ui2_1 thingsboard/tb-web-ui:latest Up 32770→8080
docker_tb-js-executor_1-10 thingsboard/tb-js-executor:latest ⚠️ Redémarrages -
docker_zookeeper_1 zookeeper:3.8.1 Up 2181, 32768
docker_tb-rule-engine1_1 - ⚠️ Created (pas démarré) -
docker_tb-rule-engine2_1 - ⚠️ Created (pas démarré) -
thingsboard-rabbitmq rabbitmq:3.12-management Healthy 4369, 5671-5672
thingsboard-postgres postgres:15-alpine Healthy 5432

6. MAPSTORE (3 containers) ⚠️ 502 via Traefik

Service Image Status Ports
mapstore-proxy nginx Up 80
mapstore-app geosolutionsit/mapstore2:latest Up 8080
mapstore-postgres geosolutions-mapstore/postgis Healthy 5432

7. GEOSERVER (1 container)

Service Image Status Ports
geoserver_stack-geoserver-1 oscarfonts/geoserver:2.25.2 Healthy 8080

PostGIS dédié : | postgis-smartcity | postgis/postgis:15-3.4 | Healthy | 5433 |

8. CONTXUS (3 containers) ⚠️ unhealthy

Service Image Status Ports
contexus-app contexusio/contexus:latest ⚠️ Unhealthy 15000
contexus-postgres postgres:16 Healthy 5432
contexus-redis redis:7-alpine Healthy 6379

9. CHIRPSTACK (3 containers)

Service Image Status Ports
smart-city-digital-twin-martinique-chirpstack-1 chirpstack/chirpstack:latest Up -
chirpstack/chirpstack-rest-api:4 chirpstack/chirpstack-rest-api:4 Up -
chirpstack/chirpstack-gateway-bridge:4 chirpstack/chirpstack-gateway-bridge:4 Up 1700/udp
chirpstack-mosquitto eclipse-mosquitto:2 Up 1883
chirpstack-redis redis:7-alpine Up 6379
chirpstack-postgres postgres:14-alpine Up 5432

10. FIWARE (3 containers)

Service Image Status Ports
fiware-gis-quickstart-orion-1 quay.io/fiware/orion-ld Healthy 2026→1026
fiware-gis-quickstart-orionproxy-1 fiware-gis-quickstart-orionproxy Up 1026→80
fiware-gis-quickstart-mongo-db-1 mongo:4.2 Up 27017

11. FROST (2 containers)

Service Image Status Ports
frost_allinone-web-1 fraunhoferiosb/frost-server:latest Up 1883, 8089, 8090→8080
frost_http-web-1 fraunhoferiosb/frost-server-http:latest Up 8080

12. EMQX (1 container)

Service Image Status Ports
emqx_emqx_1 emqx/emqx:latest Up 1883, 8883, 18083, 8081, 8083-8084, 11883, 38083

13. STELLIO (5 containers) ⚠️ 4 down

Service Image Status Ports
stellio-api-gateway stellio/stellio-api-gateway:latest-dev Up 8080
stellio-search-service - Exited -
stellio-subscription-service - Exited -
stellio-kafka - Exited -
stellio-postgres - Exited -

14. DIGITAL-TWIN (2 containers)

Service Image Status Ports
digital-twin-nodered nodered/node-red:3.1 Healthy 1880
digital-twin-connector python:3.11-slim Up -

15. HONCHO (4 containers) ⚠️ API restart

Service Image Status Ports
honcho-api-1 honcho:latest ⚠️ Restart -
honcho-deriver-1 honcho-deriver Healthy 8000
honcho-grafana-1 grafana/grafana:11.4.0 Healthy 3088
honcho-prometheus-1 prom/prometheus:v3.2.1 Healthy 9091

16. Autres stacks

Stack Containers Statut
bunkerm 1 ⚠️ Unhealthy
phpipam 2 Up
gitea 1 Up
localai 2 ⚠️ Orphaned duplicate
agent-gateway 1 Up
yaade 1 Up
community-tools (docker-exporter) 1 Up

🔌 Brokers MQTT (identifiés)

Broker Container Port Stack
Mosquitto (principal) smart-city-digital-twin-martinique-mosquitto-1 1883 smart-city-iot
Mosquitto (ChirpStack) chirpstack-mosquitto-1 1883 chirpstack
Mosquitto (Mainflux) mainfluxlabs-mosquitto 1883 mainflux
MQTT Bridge (Mainflux) mainfluxlabs-mqtt - mainflux
EMQX emqx_emqx_1 1883, 8883, 11883 emqx
RabbitMQ thingsboard-rabbitmq 5672 thingsboard
RabbitMQ (OpenRemote) (dans stack openremote - DOWN) 5672 openremote
NATS mainfluxlabs-broker 4222 mainflux

🔄 Flux de Données Validés

Simulateur IoT
    │
    ├──► Mosquitto (principal:1883)
    │       │
    │       ├──► Telegraf ──► InfluxDB (8086) ──► Grafana (3001)
    │       │
    │       ├──► Mainflux MQTT ──► Mainflux Broker (NATS) ──► Things/Users/Auth
    │       │
    │       └──► IoT-Agent FIWARE ──► Orion-LD (1026) ──► QuantumLeap ──► CrateDB
    │                                                              │
    │                                                              ▼
    │                                                           Grafana
    │
    ├──► EMQX (1883)
    │       │
    │       └──► Contexus MQTT Driver ──► Contexus Devices
    │
    └──► ChirpStack Mosquitto (1883)
            │
            └──► ChirpStack ──► ChirpStack REST API

OpenRemote Internal Artemis MQTT
    │
    └──► Agent MQTT ──► Assets (sensors) ──► Map Display

⚠️ Problèmes Connus (2026-05-23)

Priorité Problème Impact
🔴 CRITIQUE Simulator crash boucle (exit 137, 896 restarts) Plus de données IoT
🔴 CRITIQUE OpenRemote Manager 502 Pas de carte
🟠 HAUTE Telegraf restart boucle Pas de données InfluxDB
🟠 HAUTE ThingsBoard executors instables TB partiellement fonctionnel
🟠 HAUTE MapStore 502 via Traefik Pas d'accès web
🟡 MOYENNE Contexus unhealthy API fonctionnelle mais healthcheck KO
🟡 MOYENNE Stellio 4 services arrêtés Search/Sub/Kafka/Postgres down
🟡 MOYENNE Ditto gateway UP mais pas de HTTP API inaccessible
🟡 MOYENNE Bunkerm unhealthy Monitoring down
🔵 BASSE Honcho API restartant Mémoire/agentiel intermittent
🔵 BASSE Redpanda console restart Console indisponible

📝 Snapshots & Restauration

Créer un snapshot

# État des containers
docker ps -a --format "table {{.Names}}\t{{.Image}}\t{{.Status}}" > snapshots/DATE/containers-state.txt

# Sauvegarder les images d'une stack
docker save -o snapshots/DATE/simulator.tar smart-city-digital-twin-martinique-simulator
docker save -o snapshots/DATE/openremote-manager.tar openremote/manager

# Sauvegarder les volumes
docker run --rm -v smart-city_simulator_data:/data -v $(pwd)/snapshots/DATE:/backup alpine tar czf /backup/simulator-data.tar.gz -C /data .

Restaurer un snapshot

# Restaurer une image
docker load -i snapshots/DATE/simulator.tar

# Redémarrer une stack
docker-compose up -d --force-recreate simulator

# Restaurer un volume
docker run --rm -v smart-city_simulator_data:/data -v $(pwd)/snapshots/DATE:/backup alpine tar xzf /backup/simulator-data.tar.gz -C /data

Stables stacks à snapshoter en priorité

  1. smart-city-core (simulator, telegraf, influxdb)
  2. openremote (manager, keycloak, artemis, postgres)
  3. mapstore (proxy, app, postgres)
  4. geoserver (geoserver, postgis)
  5. mainflux (ensemble de la stack)