From e0d023d372a755865ab08297c82e1985e566df0a Mon Sep 17 00:00:00 2001 From: Eric FELIXINE Date: Tue, 26 May 2026 21:04:35 -0400 Subject: [PATCH] docs: add architecture inventory 2026-05-27 --- INVENTORY-2026-05-27.md | 241 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 INVENTORY-2026-05-27.md diff --git a/INVENTORY-2026-05-27.md b/INVENTORY-2026-05-27.md new file mode 100644 index 00000000..0194a3b9 --- /dev/null +++ b/INVENTORY-2026-05-27.md @@ -0,0 +1,241 @@ +# Smart City Digital Twin β€” Inventaire Architecture + +> **Date** : 2026-05-27 01:00 +> **HΓ΄te** : Linux 6.8.0-117-generic (31Gi RAM) +> **Containers actifs** : 59 running / 1 restarting / 61 exited +> **RΓ©seaux Docker** : 30+ networks (smartcity-shared, traefik-public, odk-internal, etc.) + +--- + +## πŸ“Š Vue d'ensemble + +| CatΓ©gorie | Containers | Statut | +|-----------|------------|--------| +| **ODK Central** | 4 | βœ… Tous UP | +| **IoT / MQTT** | 10 | βœ… Tous UP | +| **Data / Analytics** | 10 | βœ… Tous UP | +| **GIS / GΓ©ospatial** | 8 | βœ… Tous UP | +| **IdentitΓ©** | 3 | ⚠️ Honcho restarting | +| **Smart City Core** | 10 | βœ… Tous UP | +| **Monitoring** | 3 | βœ… Tous UP | +| **AI** | 1 | βœ… UP | +| **Autres** | 7 | βœ… Tous UP | + +--- + +## πŸ”· ODK Central (4 containers) + +| Container | Image | Ports | Domaine | +|-----------|-------|-------|---------| +| `odk-nginx` | odk-nginx:latest | 80, 443 | odk.digitribe.fr | +| `odk-service` | odk-service:latest | 8383 | β€” | +| `odk-postgres` | postgres:15-alpine | 5432 | β€” | +| `odk-pyxform` | ghcr.io/getodk/pyxform-http:v4.4.1 | 80 | β€” | + +**Credentials** : efelixine@digitribe.fr / Digitribe972 +**Projet** : Smart-City-Martinique (id=1) + +--- + +## πŸ”Ά IoT / MQTT (10 containers) + +| Container | Image | Ports | RΓ΄le | +|-----------|-------|-------|------| +| `bunkerm-bunkerm-1` | bunkeriot/bunkerm:latest | 1883β†’1900, 2000 | MQTT Broker principal | +| `emqx_emqx_1` | emqx/emqx:latest | 11883, 18081, 18883, 38083 | MQTT Broker v5 | +| `smart-city-digital-twin-martinique-mosquitto-1` | eclipse-mosquitto:2 | 1883 | MQTT v5 (simulateur) | +| `chirpstack-mosquitto-1` | eclipse-mosquitto:2 | 1883 | MQTT ChirpStack | +| `smart-city-digital-twin-martinique-chirpstack-1` | chirpstack/chirpstack:latest | β€” | LoRaWAN NS | +| `smart-city-digital-twin-martinique-chirpstack-rest-api-1` | chirstack/chirpstack-rest-api:4 | β€” | ChirpStack REST API | +| `smart-city-digital-twin-martinique-chirpstack-gateway-bridge-1` | chirpstack/chirpstack-gateway-bridge:4 | 1700/udp | Gateway Bridge | +| `smart-city-digital-twin-martinique-chirpstack-gateway-bridge-basicstation-1` | chirpstack/chirpstack-gateway-bridge:4 | β€” | Basic Station | +| `chirpstack-redis-1` | redis:7-alpine | 6379 | Cache ChirpStack | +| `chirpstack-postgres-1` | postgres:14-alpine | 5432 | DB ChirpStack | + +**Credentials MQTT** : bunker / bunker (BunkerM) +**Credentials ChirpStack** : admin / Digitribe972 + +--- + +## πŸ“ˆ Data / Analytics (10 containers) + +| Container | Image | Ports | Domaine | +|-----------|-------|-------|---------| +| `smart-city-grafana` | grafana/grafana:10.2.0 | 3001 | grafana.digitribe.fr | +| `grafana_stack-grafana-1` | grafana/grafana:latest | 3000 | β€” | +| `honcho-grafana-1` | grafana/grafana:11.4.0 | 3088 | β€” | +| `smart-city-influxdb` | influxdb:2.7-alpine | 8086 | β€” | +| `smart-city-loki` | grafana/loki:latest | 3100 | β€” | +| `smart-city-prometheus-brokers` | prom/prometheus:latest | β€” | β€” | +| `honcho-prometheus-1` | prom/prometheus:v3.2.1 | 9091 | β€” | +| `smart-city-redpanda-console` | redpandadata/console:v2.5.0 | 28080 | β€” | +| `metabase-app` | metabase/metabase:latest | 3000 | metabase.digitribe.fr | +| `metabase-postgres` | postgres:15-alpine | 5432 | β€” | + +**Credentials** : admin / Digitribe972 (Grafana, Metabase, Superset) +**InfluxDB** : token=my-super-token, org=digitribe, bucket=smartcity + +--- + +## πŸ—ΊοΈ GIS / GΓ©ospatial (8 containers) + +| Container | Image | Ports | Domaine | +|-----------|-------|-------|---------| +| `geoserver_stack-geoserver-1` | oscarfonts/geoserver:2.25.2 | 8080 | geoserver.digitribe.fr | +| `mapstore-app` | geosolutionsit/mapstore2:latest | 8080 | mapstore.digitribe.fr | +| `mapstore-proxy` | nginx | 80 | β€” | +| `mapstore-postgres` | geosolutions-mapstore/postgis | 5432 | β€” | +| `postgis-smartcity` | postgis/postgis:15-3.4 | 5433 | β€” | +| `fiware-gis-quickstart-orion-1` | quay.io/fiware/orion-ld | 2026 | β€” | +| `fiware-gis-quickstart-orionproxy-1` | fiware-gis-quickstart-orionproxy | 1026 | β€” | +| `fiware-gis-quickstart-mongo-db-1` | mongo:4.2 | 27017 | β€” | +| `frost_allinone-web-1` | fraunhoferiosb/frost-server:latest | 8089 | β€” | +| `frost_http-web-1` | fraunhoferiosb/frost-server-http:latest | 8080 | β€” | +| `stellio-api-gateway` | stellio/stellio-api-gateway:latest-dev | 8080 | stellio.digitribe.fr | + +--- + +## πŸ” IdentitΓ© (3 containers) + +| Container | Image | Ports | Domaine | +|-----------|-------|-------|---------| +| `openremote-keycloak` | quay.io/keycloak/keycloak:24.0 | 8080, 8443 | openremote.digitribe.fr/auth | +| `honcho-api-1` | honcho:latest | 8000 | β€” | +| `honcho-deriver-1` | honcho-deriver | β€” | β€” | + +**Credentials Keycloak** : admin / admin +**Credentials OpenRemote** : admin / Digitribe972 + +--- + +## πŸ™οΈ Smart City Core (10 containers) + +| Container | Image | Ports | RΓ΄le | +|-----------|-------|-------|------| +| `smart-city-simulator` | smart-city-simulator | 8081 | Simulateur 60 capteurs | +| `smart-city-telegraf` | telegraf:1.28 | 8092, 8125, 8094 | Collecte IoT | +| `contexus-app` | contexusio/contexus:latest | 15000 | Plateforme IoT | +| `contexus-postgres` | postgres:16 | 5432 | DB Contexus | +| `contexus-redis` | redis:7-alpine | 6379 | Cache Contexus | +| `smart-city-ditto-policies` | eclipse/ditto-policies:latest | 8080 | Digital Twin policies | +| `smart-city-ditto-gateway` | eclipse/ditto-gateway:latest | 8080 | Digital Twin gateway | +| `smart-city-ditto-mongodb` | mongo:6 | 27017 | DB Ditto | +| `digital-twin-nodered` | nodered/node-red:3.1 | 1880 | Node-RED | +| `digital-twin-connector` | python:3.11-slim | β€” | Connector Python | +| `smart-city-digital-twin-martinique-redis-1` | redis:7-alpine | 6379 | Cache simulateur | + +**Credentials Contexus** : iotevadmin / Digitribe972 + +--- + +## πŸ‘οΈ Monitoring (3 containers) + +| Container | Image | Ports | RΓ΄le | +|-----------|-------|-------|------| +| `traefik` | traefik:v3.1 | 80, 443, 8404 | Reverse Proxy | +| `smart-city-promtail` | grafana/promtail:latest | β€” | Log shipping | +| `docker-exporter` | docker-exporter:latest | 8005 | MΓ©triques Docker | + +--- + +## πŸ€– AI (1 container) + +| Container | Image | Ports | RΓ΄le | +|-----------|-------|-------|------| +| `localai-api` | localai/localai:latest | 8080 | LLM local (Llama 3.1 70B) | + +**Credentials** : admin / Digitribe972 +**API Key** : hermes-localai-secret-key-2024 + +--- + +## πŸ“¦ Autres (7 containers) + +| Container | Image | Ports | RΓ΄le | +|-----------|-------|-------|------| +| `gitea` | gitea/gitea:latest | 22, 3000 | Git (gitea.digitribe.fr) | +| `agentgateway` | cr.agentgateway.dev/agentgateway:latest | 3000, 15000 | Agent Gateway | +| `smart-city-kepler` | smart-city-kepler:latest | 80, 8080 | Kepler.gl | +| `stellio-api-gateway` | stellio/stellio-api-gateway:latest-dev | 8080 | NGSI-LD Context Broker | +| `esperotech` | esperotech/yaade:latest | 9339 | Yaade | +| `phpipam-phpipam-web-1` | phpipam/phpipam-www:latest | 8085 | IPAM | +| `phpipam-phpipam-cron-1` | phpipam/phpipam-cron:latest | β€” | IPAM cron | +| `docker_zookeeper_1` | zookeeper:3.8.1 | 2181 | ZooKeeper | + +--- + +## 🌐 RΓ©seaux Docker Principaux + +| RΓ©seau | Usage | +|--------|-------| +| `smartcity-shared` | RΓ©seau principal partagΓ© entre services | +| `traefik-public` | Exposition web via Traefik | +| `central_odk-internal` | RΓ©seau interne ODK | +| `openremote_default` | OpenRemote stack | +| `contexus-iot-network` | Contexus IoT | +| `fiware-gis-quickstart_fiware` | FIWARE GIS | +| `mapstore2_mapstore-network` | MapStore | +| `superset_default` | Apache Superset | +| `metabase_default` | Metabase | +| `localai_default` | LocalAI | +| `honcho_default` | Honcho | +| `mainflux-network` | Mainflux | +| `stellio-context-broker_default` | Stellio | + +--- + +## πŸ”‘ Credentials RΓ©sumΓ© + +| Service | Login | Password | +|---------|-------|----------| +| **ODK Central** | efelixine@digitribe.fr | Digitribe972 | +| **Grafana** | admin | Digitribe972 | +| **Metabase** | admin@digitribe.fr | Digitribe972 | +| **Superset** | admin | Digitribe972 | +| **OpenRemote** | admin | Digitribe972 | +| **Keycloak** | admin | admin | +| **Contexus** | iotevadmin | Digitribe972 | +| **ChirpStack** | admin | Digitribe972 | +| **BunkerM MQTT** | bunker | bunker | +| **LocalAI** | admin | Digitribe972 | +| **InfluxDB** | β€” | token=my-super-token | +| **PostgreSQL Contexus** | contexus | Digitribe972 | +| **Redis Contexus** | β€” | Digitribe972 | + +--- + +## πŸ“ RΓ©pertoires Projet + +``` +~/smart-city-digital-twin-martinique/ # Repo principal (Gitea) +~/odk/central/ # ODK Central +~/openremote/ # OpenRemote +~/traefik-config/dynamic/ # Config Traefik +~/smart-app-city/ # Sous-projet app mobile +``` + +--- + +## πŸ“Š Pipeline de DonnΓ©es + +``` +Simulateur (60 capteurs) + ↓ +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ 3 Brokers MQTT β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ EMQX β”‚ β”‚Mosquittoβ”‚ β”‚ BunkerM β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”˜ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + ↓ + Telegraf (3 inputs MQTT) + ↓ + InfluxDB v2 (bucket: smartcity) + ↓ + Grafana (Dashboard v7) +``` + +--- + +*Inventaire gΓ©nΓ©rΓ© le 2026-05-27 01:00 β€” OWL*