- Markdown file with full container list, networks, Mermaid diagram - 25+ active containers (FROST, Stellio, Orion-LD, OpenRemote, etc.) - 10+ Docker networks (smartcity-shared, frost_http_default, etc.) - Mermaid diagram showing architecture and connections - PDF generation requires external tools (pandoc + wkhtmltopdf) - Reference file for project infrastructure
9.0 KiB
9.0 KiB
Smart City Digital Twin - Cartographie Docker (Architecture & Réseaux)
Date : 05 mai 2026
Projet : smart-city-digital-twin-martinique
Auteur : Éric FELIXINE (via Hermes Agent)
1. Vue d'ensemble
Cette cartographie présente l'architecture Docker complète du jumeau numérique Smart City (Martinique), incluant les conteneurs, images, réseaux et ports exposés.
2. Liste des Conteneurs Actifs (Projet Smart City)
| Conteneur | Image | Réseaux | Ports |
|---|---|---|---|
frost-api-8090 |
fraunhoferiosb/frost-server-http:latest |
bridge, frost_http_default |
0.0.0.0:8090→8080/tcp |
stellio-api-exposed2 |
stellio-api-gateway:exposed |
stellio-context-broker_default |
0.0.0.0:8087→8080/tcp |
mosquitto-exporter |
sapcc/mosquitto-exporter:latest |
smartcity-shared, traefik-public |
0.0.0.0:9234→9234/tcp |
prometheus-brokers |
prom/prometheus:latest |
smartcity-shared, traefik-public |
9090/tcp |
digital-twin-grafana |
grafana/grafana:10.2.0 |
fiware-gis-quickstart_fiware, frost_http_default, smartcity-shared, traefik-public, digital-twin_digital-twin, docker_default |
0.0.0.0:3001→3000/tcp |
geoserver_stack-geoserver-1 |
oscarfonts/geoserver:2.25.2 |
frost_http_default, traefik-public |
8080/tcp |
grafana_stack-grafana-1 |
grafana/grafana:latest |
frost_http_default, traefik-public |
3000/tcp |
frost_http-database-1 |
postgis/postgis:16-3.4-alpine |
frost_http_default |
5432/tcp |
openremote-keycloak-1 |
openremote/keycloak:latest |
openremote_default, smartcity-shared |
8080/tcp, 8443/tcp |
openremote-manager-1 |
openremote/manager:latest |
smartcity-shared, openremote_default |
1883/tcp, 8080/tcp, 8443/tcp, 127.0.0.1:8405→8405/tcp |
openremote-postgresql-1 |
openremote/postgresql:latest-slim |
openremote_default |
5432/tcp, 8008/tcp, 8081/tcp |
traefik |
traefik:v3.0 |
openremote_default, traefik-public |
0.0.0.0:80→80/tcp, 0.0.0.0:443→443/tcp, 0.0.0.0:1884→1884/tcp, 127.0.0.1:9080→8080/tcp |
mosquitto-traefik |
eclipse-mosquitto:2.0 |
smartcity-shared, traefik-public |
0.0.0.0:1883→1883/tcp, 127.0.0.1:38084→8081/tcp, 127.0.0.1:38884→8883/tcp |
emqx_emqx_1 |
emqx/emqx:latest |
emqx_default, smartcity-shared, traefik-public |
4370/tcp, 5369/tcp, 8083-8084/tcp, 0.0.0.0:11883→1883/tcp, 0.0.0.0:18081→8081/tcp, 0.0.0.0:18883→8883/tcp, 0.0.0.0:38083→18083/tcp |
stellio-search-service |
stellio/stellio-search-service:latest-dev |
stellio-context-broker_default, traefik-public, smartcity-shared |
8083/tcp |
stellio-subscription-service |
stellio/stellio-subscription-service:latest-dev |
smartcity-shared, stellio-context-broker_default, traefik-public |
8084/tcp |
stellio-kafka |
confluentinc/cp-kafka:8.1.0 |
stellio-context-broker_default |
9092/tcp, 0.0.0.0:29092→29092/tcp |
stellio-postgres |
stellio/stellio-timescale-postgis:16-2.24.0-3.6 |
stellio-context-broker_default |
5432/tcp |
stellio-api-gateway |
stellio/stellio-api-gateway:latest-dev |
stellio-context-broker_default, traefik-public, smartcity-shared |
8080/tcp |
digital-twin-nodered |
nodered/node-red:3.1 |
docker_default, smartcity-shared, traefik |
0.0.0.0:1880→1880/tcp |
digital-twin-postgis |
postgis/postgis:15-3.4 |
digital-twin_digital-twin, docker_default, smartcity-shared |
0.0.0.0:5433→5432/tcp |
digital-twin-connector |
python:3.11-slim |
digital-twin_digital-twin |
- |
digital-twin-influxdb |
influxdb:2.7-alpine |
digital-twin_digital-twin, docker_default, smartcity-shared |
0.0.0.0:8086→8086/tcp |
fiware-gis-quickstart-orionproxy-1 |
fiware-gis-quickstart-orionproxy |
fiware-gis-quickstart_fiware |
127.0.0.1:1026→80/tcp |
fiware-gis-quickstart-orion-1 |
quay.io/fiware/orion-ld |
fiware-gis-quickstart_fiware, smartcity-shared, traefik-public |
127.0.0.1:2026→1026/tcp |
honcho-grafana-1 |
grafana/grafana:11.4.0 |
honcho_default |
127.0.0.1:3088→3000/tcp |
honcho-prometheus-1 |
prom/prometheus:v3.2.1 |
honcho_default |
127.0.0.1:9091→9090/tcp |
3. Liste des Réseaux Docker (Projet)
| Réseau | Conteneurs Connectés |
|---|---|
smartcity-shared |
digital-twin-grafana, mosquitto-exporter, prometheus-brokers, openremote-keycloak-1, openremote-manager-1, stellio-search-service, stellio-subscription-service, stellio-api-gateway, digital-twin-nodered, digital-twin-postgis, digital-twin-influxdb, emqx_emqx_1, fiware-gis-quickstart-orion-1 |
frost_http_default |
frost-api-8090, geoserver_stack-geoserver-1, grafana_stack-grafana-1, digital-twin-grafana, frost_http-database-1 |
stellio-context-broker_default |
stellio-api-exposed2, stellio-search-service, stellio-subscription-service, stellio-kafka, stellio-postgres, stellio-api-gateway |
traefik-public |
digital-twin-grafana, mosquitto-exporter, prometheus-brokers, geoserver_stack-geoserver-1, stellio-search-service, stellio-subscription-service, stellio-api-gateway, emqx_emqx_1, digital-twin-nodered, traefik |
digital-twin_digital-twin |
digital-twin-grafana, digital-twin-postgis, digital-twin-connector, digital-twin-influxdb |
docker_default |
digital-twin-grafana, digital-twin-postgis, digital-twin-influxdb, digital-twin-nodered |
fiware-gis-quickstart_fiware |
fiware-gis-quickstart-orionproxy-1, fiware-gis-quickstart-orion-1, digital-twin-grafana |
openremote_default |
openremote-keycloak-1, openremote-manager-1, openremote-postgresql-1, traefik |
emqx_default |
emqx_emqx_1 |
honcho_default |
honcho-grafana-1, honcho-prometheus-1 |
bridge |
frost-api-8090 |
4. Diagramme d'Architecture (Mermaid)
graph TD
subgraph Traefik_Public [Traefik Public Network]
TR[Traefik\n:80/:443] --- DG[digital-twin-grafana\n:3001]
TR --- MO[mosquitto-exporter\n:9234]
TR --- PR[prometheus-brokers\n:9090]
TR --- GE[geoserver\n:8080]
TR --- SG[stellio-search\n:8083]
TR --- SS[stellio-subscription\n:8084]
TR --- AG[stellio-api-gateway\n:8087]
TR --- EM[emqx\n:11883/:18883]
TR --- NR[digital-twin-nodered\n:1880]
end
subgraph SmartCity_Shared [SmartCity Shared Network]
DG --- IF[digital-twin-influxdb\n:8086]
DG --- PG[digital-twin-postgis\n:5433]
DG --- ORK[openremote-keycloak\n:8080]
DG --- ORM[openremote-manager\n:8405]
DG --- ST[stellio-services]
DG --- EM
end
subgraph FROST_Network [FROST Default Network]
FR[frost-api-8090\n:8090] --- FD[frost-http-database\n:5432]
FR --- GE
FR --- DG
end
subgraph Stellio_Network [Stellio Context Broker Network]
ST[stellio-services] --- SA[stellio-api-exposed2\n:8087]
ST --- SK[stellio-kafka\n:29092]
ST --- SP[stellio-postgres\n:5432]
end
subgraph Orion_Network [FIWARE Orion Network]
OR[fw-orion-1\n:2026] --- OP[fw-orion-proxy-1\n:1026]
OP --- DG
end
subgraph OpenRemote_Network [OpenRemote Default Network]
ORK --- ORM
ORM --- ODB[openremote-postgresql\n:5432]
ORK --- TR
end
subgraph DigitalTwin_Network [Digital Twin Custom Network]
DG --- IF
DG --- PG
DG --- DC[digital-twin-connector]
end
%% Flux de données simplifiés
EM -->|MQTT| DG
EM -->|MQTT| OR
OR -->|NGSI-LD| FR
OR -->|NGSI-LD| ST
IF -->|InfluxDB| DG
DG -->|Grafana Dashboards| User[Utilisateur]
5. Connexions Clés
- Traefik (
:80/:443) : Reverse proxy pour tous les services exposés à l'hôte. - Brokers MQTT (Mosquitto
:1883, EMQX:11883) : Réception des données du simulateur et des capteurs IoT. - Context Brokers (Orion-LD
:2026, Stellio:8087) : Reçoivent les données NGSI-LD et les transmettent à FROST et Grafana. - FROST-Server (
:8090) : Stockage des données OGC SensorThings, connecté à PostgreSQL (frost_http-database-1). - Grafana (
:3001) : Visualisation des données depuis InfluxDB, Prometheus, et (via adaptateurs) Orion-LD/Stellio. - OpenRemote (
:8080) : Gestion des assets IoT, authentification via Keycloak, proxyé par Traefik. - GeoServer (
:8080) : Serveur de tuiles cartographiques, connecté au réseau FROST. - Node-RED (
:1880) : Alternative possible pour le simulateur IoT (projeté).
6. Références
- Projet :
~/smart-city-digital-twin-martinique/ - Skills :
postman-fiware,smart-city-traceability-setup,openremote-map-configuration - Session Resume :
session_resume_2026-05-04.md - Documentation Grafana :
GRAFANA-STATUS-FINAL.md
Cartographie générée automatiquement le 05 mai 2026 à 14:30 (UTC-4) par Hermes Agent.