93 lines
4.7 KiB
Markdown
93 lines
4.7 KiB
Markdown
# Smart City Digital Twin — TODO List
|
|
|
|
> Dernière mise à jour : 2026-06-01 22:00 (session continue - smart app + ditto)
|
|
|
|
## ✅ Complété (session 2026-06-01)
|
|
|
|
| ID | Tâche | Détail |
|
|
|----|-------|--------|
|
|
| jupyterhub-fix | JupyterHub DB path | `sqlite:////srv/jupyterhub/jupyterhub.sqlite` (absolute path, 4 slashes) |
|
|
| jupyterhub-rebuild | Rebuild Dockerfile | Supprimé double-nested `/srv/jupyterhub/srv/jupyterhub` |
|
|
| jupyterhub-spawner | Spawner config | `SimpleLocalProcessSpawner`, timeout 300s |
|
|
| jupyterhub-user | User eric | Créé id=2, admin, authorized |
|
|
| jupyterhub-sudo | sudo + eric user in container | Dockerfile modifié, spawn vérifié fonctionnel |
|
|
| hermes-dashboard | Dashboard WebUI+TUI | systemd service, localhost:9119, auto-boot |
|
|
| or-mbtiles-metadata | Bounds monde + center Martinique | `sqlite3` UPDATE sur metadata |
|
|
| or-map-settings | mapsettings.json vérifié | center=[-61,14.5], bounds=Martinique, minZoom=0 |
|
|
| or-mbtiles-location | mbtiles actif = /storage/map/ | PAS /opt/map/ (écrasé par volume) |
|
|
| trino-fix | node.properties créé | `node.environment=production`, `node.id=trino-lakehouse-01` |
|
|
| trino-config | config.properties nettoyé | `plugin.bundles` retiré (incompatible Trino 435) |
|
|
| kafka-fix | Kafka KRaft env vars | `KAFKA_CFG_*` → `KAFKA_*`, `CLUSTER_ID` ajouté, volumes recréés |
|
|
| git-push | Commits | Pushé sur Gitea (smart-city-digital-twin-martinique + lakehouse) |
|
|
| **smart-app-mvp** | **Smart App City MVP complet** | **Voir détail ci-dessous** |
|
|
| ditto-mongodb-fix | MongoDB connection | `-Dditto.mongodb.uri` dans JAVA_TOOL_OPTIONS |
|
|
| ditto-secrets | Nouveaux secrets JWT/devops | Générés aléatoirement, sauvegardés `.env.ditto` |
|
|
| ditto-official-images | Gateway custom → latest | `eclipse/ditto-gateway:latest` officiel |
|
|
|
|
## 🔴 En cours
|
|
|
|
| ID | Tâche | Raison | Prochaine action |
|
|
|----|-------|--------|------------------|
|
|
| or-map-bounds | MapService retourne bounds Pays-Bas | Bug MapResourceImpl.java: mbtiles metadata bounds prioritaire sur mapsettings.json | Générer vrai mbtiles MVT Martinique OU patcher code source OR |
|
|
|
|
## ⏳ En attente
|
|
|
|
| ID | Tâche |
|
|
|----|-------|
|
|
| or-mbtiles-martinique | Générer mbtiles MVT PBF pour Martinique (tippecanoe depuis GeoJSON filtré) |
|
|
| p1-or-map | Vérifier carte Martinique après fix bounds |
|
|
| p1-contexus-60 | Configurer les 60 devices Contexus |
|
|
| p3-analyse | GeoMesa + KeplerGL |
|
|
| p0-chirpstack | ChirpStack login API gRPC-REST |
|
|
| p1-thingsboard | Relancer ThingsBoard (si CPU dispo) |
|
|
| smart-app Phase 1 | MVP React Native |
|
|
| p2-geoserver | GeoServer + PostGIS couches Martinique |
|
|
|
|
## 📝 Notes techniques 2026-06-01
|
|
|
|
### OpenRemote mbtiles — Points critiques
|
|
- Fichier actif : `/storage/map/mapdata.mbtiles` (volume Docker), PAS `/opt/map/`
|
|
- OR 1.24.0 ne sert que du **PBF vectoriel** — PNG raster = 404
|
|
- Bug : MapService.java donne priorité aux bounds du mbtiles metadata sur mapsettings.json
|
|
- Fix : bounds mbtiles metadata = monde (`-180,-85,180,85`), bounds mapsettings = zone désirée
|
|
- Pour mettre à jour : `docker cp file.mbtiles openremote-manager:/storage/map/mapdata.mbtiles`
|
|
|
|
### JupyterHub
|
|
- Port : 8000 (pas 8080) — accessible via https://jupyter.digitribe.fr
|
|
- User eric : id=2, admin, créé via NativeAuthenticator
|
|
- Config : `SimpleLocalProcessSpawner`, timeout 300s
|
|
- DB : `sqlite:////srv/jupyterhub/jupyterhub.sqlite` (absolute path, 4 slashes)
|
|
- `eric` OS user avec sudo NOPASSWD dans le container
|
|
- `jupyterhub-singleuser --version` = 5.3.0, `jupyter-lab --version` = 4.5.7
|
|
|
|
### Kafka (KRaft)
|
|
- `apache/kafka:3.9.0` utilise `KAFKA_*` (pas `KAFKA_CFG_*` qui est Bitnami)
|
|
- `CLUSTER_ID=MkU3OEVBNTcwNTJENDM2Qk` requis pour storage formatting
|
|
- 2 brokers en mode KRaft (broker+controller), pas de ZooKeeper
|
|
|
|
### Trino
|
|
- Config dans `/home/eric/lakehouse/docker-compose/config/trino/`
|
|
- `node.id=trino-lakehouse-01` (pas `_internal_`)
|
|
- `plugin.bundles` retiré de config.properties (incompatible Trino 435)
|
|
|
|
### Infrastructure
|
|
- 86+ conteneurs Docker
|
|
- Kafka, Trino, JupyterHub = UP ✅ (fixes appliqués cette session)
|
|
- Tous les autres services principaux = UP ✅
|
|
|
|
## Credentials
|
|
|
|
- **Contexus**: iotevadmin / Digitribe972
|
|
- **OpenRemote**: admin / Digitribe972
|
|
- **PostgreSQL Contexus**: contexus / Digitribe972
|
|
- **Redis Contexus**: Digitribe972
|
|
- **Telegraf InfluxDB**: token=my-super-token, org=digitribe, bucket=smartcity
|
|
- **Grafana**: admin / Digitribe972
|
|
- **Superset**: admin / Digitribe972
|
|
- **Metabase**: admin@digitribe.fr / Digitribe972
|
|
- **BunkerM MQTT**: bunker / bunker
|
|
- **ChirpStack**: admin / Digitribe972
|
|
- **ODK Central**: efelixine@digitribe.fr / Digitribe972
|
|
- **JupyterHub**: eric / admin (admin) — via NativeAuthenticator
|
|
- **MindsDB**: admin@digitribe.fr / Digitribe972
|