chore: session backup 2026-05-28 — TODO update + snapshot
This commit is contained in:
14
TODO.md
14
TODO.md
@@ -1,6 +1,6 @@
|
||||
# Smart City Digital Twin — TODO List
|
||||
|
||||
> Dernière mise à jour : 2026-05-26 23:00
|
||||
> Dernière mise à jour : 2026-05-28 14:00
|
||||
|
||||
## ✅ Complété
|
||||
| ID | Tâche |
|
||||
@@ -26,12 +26,13 @@
|
||||
## 🔴 En cours
|
||||
| ID | Tâche | Notes |
|
||||
|----|-------|-------|
|
||||
| p1-or-restart | Redémarrer OpenRemote | PG recréé, à relancer après reclonage répertoire |
|
||||
| p1-odk | Déployer ODK Central derrière Traefik | Repo cloné dans odk/central/, images locales à builder |
|
||||
| p1-or-fix | OpenRemote manager sur bon réseau | Manager sur bridge au lieu de smartcity-shared → unhealthy |
|
||||
|
||||
## 🔴 Bloqué
|
||||
| ID | Tâche | Raison |
|
||||
|----|-------|--------|
|
||||
| p1-or-map | Affichage points carte OpenRemote | En attente restart |
|
||||
| p1-or-map | Affichage points carte OpenRemote | En attente fix réseau manager |
|
||||
| p4-ditto | Ditto.digitribe.fr | MongoDB localhost hardcodé |
|
||||
| p3-kepler | KeplerGL | Image Docker incomplète |
|
||||
|
||||
@@ -44,15 +45,16 @@
|
||||
| p0-chirpstack | ChirpStack: login API gRPC-REST |
|
||||
| p1-thingsboard | Relayer ThingsBoard (si CPU dispo) |
|
||||
|
||||
## 📝 Notes 2026-05-26
|
||||
## 📝 Notes 2026-05-28
|
||||
- **OpenRemote** : Manager (`gracious_mestorf`) tournait sur réseau `bridge` au lieu de `smartcity-shared` → ne pouvait pas joindre Keycloak. Recréation du container nécessaire.
|
||||
- **ODK** : Repo cloné dans `odk/central/`. Images `odk-service:latest` et `odk-nginx:latest` sont locales (à builder avec les Dockerfiles du repo). Enketo secret créé dans `odk-secrets/`. Domaine prévu : `odk.digitribe.fr`.
|
||||
- **Pipeline données** : Simulateur → EMQX/Mosquitto/BunkerM → Telegraf → InfluxDB → Grafana ✅
|
||||
- **Grafana** : Dashboard smartcity-martinique-complete v4 — données confirmées ✅
|
||||
- **Grafana** : Dashboard smartcity-martinique-complete v7 — données confirmées ✅
|
||||
- **Superset** : https://superset.digitribe.fr ✅ (UP, healthy)
|
||||
- **Metabase** : https://metabase.digitribe.fr ✅ (UP, healthy)
|
||||
- **BunkerM** : Port 1883→1900, dynsec désactivé, auth par password_file
|
||||
- **BunkerM Traefik** : https://bunkerm.digitribe.fr (config 27-bunkerm-web.yml corrigée)
|
||||
- **InfluxDB** : bucket `smartcity`, measurement `mqtt_consumer`, tag `topic` pour le type
|
||||
- **OpenRemote** : Abandon pour l'instant, l'utilisateur va recloner le répertoire
|
||||
|
||||
## Credentials
|
||||
- **Contexus**: iotevadmin / Digitribe972
|
||||
|
||||
79
odk/docker-compose.yml
Normal file
79
odk/docker-compose.yml
Normal file
@@ -0,0 +1,79 @@
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
odk-db:
|
||||
image: postgres:15-alpine
|
||||
container_name: odk-postgres
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: odk
|
||||
POSTGRES_USER: odk
|
||||
POSTGRES_PASSWORD: odk
|
||||
volumes:
|
||||
- odk_postgres_data:/var/lib/postgresql/data
|
||||
networks:
|
||||
- odk-internal
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U odk"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
odk-backend:
|
||||
image: "ghcr.io/getodk/central-backend:2024.3.0"
|
||||
container_name: odk-backend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
odk-db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
- DOMAIN=odk.digitribe.fr
|
||||
- HTTPS_PORT=443
|
||||
- SYSADMIN_EMAIL=admin@digitribe.fr
|
||||
- DB_HOST=odk-db
|
||||
- DB_PORT=5432
|
||||
- DB_NAME=odk
|
||||
- DB_USER=odk
|
||||
- DB_PASSWORD=odk
|
||||
volumes:
|
||||
- odk_backend_data:/data
|
||||
networks:
|
||||
- odk-internal
|
||||
- smartcity-shared
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.odk.rule=Host(`odk.digitribe.fr`)"
|
||||
- "traefik.http.routers.odk.entrypoints=websecure"
|
||||
- "traefik.http.routers.odk.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.odk.loadbalancer.server.port=8383"
|
||||
- "traefik.docker.network=smartcity-shared"
|
||||
|
||||
odk-frontend:
|
||||
image: "ghcr.io/getodk/central-frontend:2024.3.0"
|
||||
container_name: odk-frontend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- odk-backend
|
||||
environment:
|
||||
- DOMAIN=odk.digitribe.fr
|
||||
networks:
|
||||
- odk-internal
|
||||
labels:
|
||||
- "traefik.enable=false"
|
||||
|
||||
odk-pyxform:
|
||||
image: "ghcr.io/getodk/central-pyxform:v4.4.1"
|
||||
container_name: odk-pyxform
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- odk-internal
|
||||
|
||||
volumes:
|
||||
odk_postgres_data:
|
||||
odk_backend_data:
|
||||
|
||||
networks:
|
||||
odk-internal:
|
||||
internal: true
|
||||
smartcity-shared:
|
||||
external: true
|
||||
58
snapshots/2026-05-28/full-snapshot.json
Normal file
58
snapshots/2026-05-28/full-snapshot.json
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"timestamp": "2026-05-28 14:00:00",
|
||||
"total_containers": 118,
|
||||
"running": 103,
|
||||
"exited": 9,
|
||||
"restarting": 5,
|
||||
"unhealthy": 1,
|
||||
"key_services": {
|
||||
"traefik": "Up 4 days",
|
||||
"smart-city-grafana": "Up 25 hours",
|
||||
"smart-city-influxdb": "Up 6 days (healthy)",
|
||||
"smart-city-simulator": "Up 21 hours",
|
||||
"smart-city-telegraf": "Up 21 hours",
|
||||
"bunkerm-bunkerm-1": "Up 22 hours (healthy)",
|
||||
"openremote-keycloak": "Up 25 hours",
|
||||
"openremote-manager": "UNHEALTHY - wrong network (bridge)",
|
||||
"fiware-gis-quickstart-orion-1": "Up 6 days (healthy)",
|
||||
"contexus-app": "Up 4 days (unhealthy)",
|
||||
"contexus-postgres": "Up 6 days (healthy)",
|
||||
"contexus-redis": "Up 6 days (healthy)",
|
||||
"smart-city-ditto-gateway": "Up 4 days",
|
||||
"smart-city-ditto-mongodb": "Up 6 days",
|
||||
"smart-city-kepler": "Up 6 days",
|
||||
"postgis-smartcity": "Up 6 days (healthy)",
|
||||
"geoserver_stack-geoserver-1": "Up 6 days (healthy)",
|
||||
"mapstore-app": "Up 6 days",
|
||||
"mapstore-postgres": "Up 6 days (healthy)",
|
||||
"frost_http-web-1": "Up 6 days",
|
||||
"frost_allinone-web-1": "Up 6 days",
|
||||
"stellio-api-gateway": "Up 3 days",
|
||||
"stellio-search-service": "Exited (255)",
|
||||
"stellio-subscription-service": "Exited (255)",
|
||||
"stellio-kafka": "Exited (255)",
|
||||
"stellio-postgres": "Exited (255)",
|
||||
"emqx_emqx_1": "Up 6 days",
|
||||
"chirpstack-1": "Up 6 days",
|
||||
"chirpstack-rest-api-1": "Up 6 days",
|
||||
"metabase-app": "Up 19 hours (healthy)",
|
||||
"metabase-postgres": "Up 19 hours (healthy)",
|
||||
"thingsboard-postgres": "Up 6 days (healthy)",
|
||||
"thingsboard-rabbitmq": "Up 6 days (healthy)",
|
||||
"honcho-grafana-1": "Up 6 days (healthy)",
|
||||
"honcho-api-1": "Restarting"
|
||||
},
|
||||
"issues": [
|
||||
"OpenRemote manager on wrong network (bridge instead of smartcity-shared) — cannot reach Keycloak",
|
||||
"ThingsBoard js-executors restart loop",
|
||||
"Redpanda console restarting",
|
||||
"Honcho API restarting",
|
||||
"Contexus app unhealthy",
|
||||
"Stellio services exited (postgres, kafka, search, subscription)"
|
||||
],
|
||||
"notes": [
|
||||
"ODK Central repo cloned in odk/central/ — images are local (odk-service:latest, odk-nginx:latest), need building",
|
||||
"Git: 8 commits already synced with Gitea (everything up-to-date)",
|
||||
"System under heavy load: 118 containers, swap nearly exhausted"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user