# 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*
