Files
smart-city-digital-twin-mar…/session_resume_2026-05-07.md
Eric FELIXINE 75ee75f036 feat: MapStore ↔ GeoServer integration + Pulsar Manager v0.2.0
- Connect GeoServer to smartcity-shared network (alias: geoserver)
- Connect mapstore-app to smartcity-shared network
- Add digitribe_wms/wmts/rest services in MapStore localConfig.json
- Deploy Pulsar Manager with PostgreSQL backend + custom supervisord.conf
- Fix Redpanda Traefik config (console instead of broker port)
- Create mapstore/ docker-compose with volume mounts for persistence
2026-05-05 21:12:32 -04:00

3.7 KiB

Session Resume - 2026-05-07

Objectif

Reprise après crash + configuration MapStore ↔ GeoServer.


Actions effectuées

ThingsBoard — supprimé

  • docker-kafka-1 + docker-tb-js-executor-1 supprimés (Eric : "ThingsBoard ne fait pas du projet")

Redpanda Console — corrigé

  • 22-redpanda.yml pointait vers smart-city-redpanda:9644 (broker Kafka) → corrigé vers smart-city-redpanda-console:8080
  • https://redpanda.digitribe.fr200 OK (cert auto-signé, normal)

Pulsar Manager — déployé

  • Créé pulsar/docker-compose.manager.yml (PostgreSQL 15 + Pulsar Manager v0.2.0)
  • Créé pulsar/config/supervisord-manager.conf (fix variables manquantes)
  • Backend Spring Tomcat démarré sur port 7750 → 200 OK
  • Accessible via : https://pulsar.digitribe.fr
  • API REST: http://localhost:7750/pulsar-manager
  • Route Traefik NON encore crééehttps://pulsar.digitribe.fr → 404 (nécessite fix 21-pulsar.yml)

MapStore ↔ GeoServer — configuré

Problème résolu : mapstore-app ne pouvait pas joindre GeoServer (réseaux Docker séparés).

Solution appliquée :

  1. GeoServer (geoserver_stack-geoserver-1) → connecté au réseau smartcity-shared avec alias geoserver
  2. mapstore-app → connecté au réseau smartcity-shared
  3. mapstore-proxy → déjà sur smartcity-shared

Services GeoServer ajoutés dans MapStore localConfig.json :

  • digitribe_wmshttp://geoserver:8080/geoserver/wms (WMS)
  • digitribe_wmtshttp://geoserver:8080/geoserver/gwc/service/wmts (WMTS)
  • digitribe_resthttp://geoserver:8080/geoserver/rest (REST API)

Connectivité vérifiée :

mapstore-app → http://geoserver:8080/geoserver/wms → ✅ GetCapabilities répondu
Couches disponibles: Spearfish, Tasmania, GeoServer Web Map Service, etc.

Fichiers persistants créés :

  • mapstore/docker-compose.yml — compose complet avec volumes mounts
  • mapstore/configs/localConfig.json — config avec GeoServer local (mounté en volume)
  • mapstore/config/nginx.conf — config nginx du proxy MapStore

Action restante

Pulsar Manager — route Traefik manquante

# Supprimer l'ancienne config et remplacer par :
cat > /home/eric/traefik-config/dynamic/21-pulsar.yml << 'EOF'
http:
  routers:
    pulsar-manager:
      rule: "Host(`pulsar.digitribe.fr`)"
      entryPoints:
        - websecure
      tls: true
      service: pulsar-manager-svc
  services:
    pulsar-manager-svc:
      loadBalancer:
        servers:
          - url: "http://smart-city-pulsar-manager:7750"
EOF
docker restart traefik
# puis tester: curl -sk -o /dev/null -w "%{http_code}" https://pulsar.digitribe.fr/

État des services

Service URL Status
MapStore https://mapstore.digitribe.fr 200
GeoServer (via MapStore) http://geoserver:8080/geoserver WMS/WMTS/REST
Redpanda Console https://redpanda.digitribe.fr 200
Pulsar standalone localhost:6650
Pulsar Manager https://pulsar.digitribe.fr ⚠️ Route Traefik à corriger
InfluxDB http://localhost:8086 204
FROST-Server http://localhost:8090 200
Stellio https://stellio.digitribe.fr 200
Orion-LD localhost:2026

Docker networks (connectivité)

smartcity-shared (shared network)
  ├── mapstore-app ✅
  ├── mapstore-proxy ✅
  ├── mapstore-postgres ✅
  ├── geoserver_stack-geoserver-1 ✅ (alias: geoserver)
  └── many other services...

traefik-public
  ├── mapstore-proxy ✅
  ├── geoserver_stack-geoserver-1 ✅
  └── traefik ✅