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
This commit is contained in:
Eric FELIXINE
2026-05-05 21:12:32 -04:00
parent 3f06298819
commit 75ee75f036
6 changed files with 1761 additions and 16 deletions

View File

@@ -0,0 +1,42 @@
server {
server_name mapstore.digitribe.fr;
listen 80;
listen [::]:80;
server_tokens off;
root /usr/share/nginx/html;
location / {
try_files $uri @mapstore;
}
location /mapstore/ {
try_files $uri @mapstore;
}
location /rest/geostore/ {
proxy_pass http://mapstore:8080/mapstore/rest/geostore/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /mapstore/rest/geostore/ {
proxy_pass http://mapstore:8080/mapstore/rest/geostore/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location @mapstore {
proxy_pass http://mapstore:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,84 @@
# MapStore2 - Smart City Digital Twin Martinique
# GeoServer local: http://geoserver:8080/geoserver
# Accès: https://mapstore.digitribe.fr
version: '3.8'
services:
mapstore-postgres:
image: geosolutions-mapstore/postgis:14
container_name: mapstore-postgres
restart: unless-stopped
environment:
POSTGRES_USER: mapstore
POSTGRES_PASSWORD: mapstore
POSTGRES_DB: mapstore
volumes:
- mapstore2_pg_data:/var/lib/postgresql/data
networks:
- mapstore-network
- smartcity-shared
- traefik-public
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mapstore"]
interval: 10s
timeout: 5s
retries: 5
mapstore-app:
image: geosolutionsit/mapstore2:latest
container_name: mapstore-app
restart: unless-stopped
depends_on:
mapstore-postgres:
condition: service_healthy
environment:
MAPSTORE_BACKEND_PORT: 8080
JAVA_OPTS: "-Xms512m -Xmx2g"
volumes:
# Configuration persistante - GeoServer local
- ./configs/localConfig.json:/usr/local/tomcat/webapps/mapstore/configs/localConfig.json:ro
networks:
- mapstore-network
- smartcity-shared
ports:
- "8082:8080"
healthcheck:
test: ["CMD-SHELL", "curl -s http://localhost:8080/ || exit 1"]
interval: 30s
timeout: 10s
retries: 5
mapstore-proxy:
image: nginx:alpine
container_name: mapstore-proxy
restart: unless-stopped
depends_on:
- mapstore-app
volumes:
# Configuration nginx persistante
- ./config/nginx.conf:/etc/nginx/conf.d/default.conf:ro
networks:
- mapstore-network
- smartcity-shared
- traefik-public
ports:
- "80:80"
labels:
- "traefik.enable=true"
- "traefik.http.routers.mapstore.rule=Host(`mapstore.digitribe.fr`)"
- "traefik.http.routers.mapstore.entrypoints=websecure"
- "traefik.http.routers.mapstore.tls=true"
- "traefik.http.services.mapstore.loadbalancer.server.port=80"
networks:
mapstore-network:
name: mapstore2_mapstore-network
driver: bridge
smartcity-shared:
external: true
traefik-public:
external: true
volumes:
mapstore2_pg_data:
external: true