La carte à tuiles XYZ devient la seule interface : l'API de génération (preview, generate, status, stop, file, cell), le job unique + file persistante, la délégation LIDAR_GENERATION_URL et les garde-fous (token, LIDAR_REGEN_CIDR) passent de webapp.py à mapserve.py ; l'interface gagne les boutons + Zone / ⤒ Compléter / régénération à la dalle, les options de run et la progression cadre par cadre. mapserve sert aussi l'inventaire /api/tiles et les dalles en statique versionné : le worker image complète remplace la webapp sur le 8973 du générateur, le Pi n'exécute plus que lidar-maps. index.py se réduit aux registres partagés + vignettes/sous-tuiles/inventaire (l'UI HTML/JS et les mosaïques d'overview partent avec export.py et les compose/scripts de la webapp).
55 lines
2.5 KiB
YAML
55 lines
2.5 KiB
YAML
# Carte à tuiles XYZ (style OpenStreetMap / Google Maps) — cf. docs/MAPS.md.
|
|
#
|
|
# Sert la pyramide de tuiles + l'interface de consultation + la génération
|
|
# (déléguée à la machine de traitement via LIDAR_GENERATION_URL sur une
|
|
# machine légère, locale sur l'image complète). Même dossier output/ que le
|
|
# pipeline ; les tuiles sont rendues à la demande et mises en cache dans
|
|
# output/index_xyz/.
|
|
#
|
|
# docker compose -f docker-compose.maps.yml up -d --build
|
|
# docker compose -f docker-compose.maps.yml logs -f maps
|
|
# docker compose -f docker-compose.maps.yml down
|
|
services:
|
|
maps:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.maps
|
|
image: lidar-maps
|
|
container_name: lidar-maps
|
|
init: true
|
|
user: "1000:1000"
|
|
ports:
|
|
- "8975:8975"
|
|
volumes:
|
|
# Lecture des dalles + écriture du cache de tuiles (output/index_xyz/)
|
|
- ./output:/data/output
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
- LIDAR_OUTPUT_DIR=/data/output
|
|
# Générateur de tuiles (worker, cf. docker-compose.worker.yml) : la
|
|
# génération lancée depuis la carte y est déléguée. Sans cette
|
|
# variable ET sans pipeline local, les boutons de génération sont
|
|
# masqués (image légère de consultation seule).
|
|
# - LIDAR_GENERATION_URL=http://192.168.1.50:8973
|
|
# Jeton si le worker exige LIDAR_API_TOKEN.
|
|
# - LIDAR_REMOTE_TOKEN=un-secret-à-partager
|
|
# Réseau autorisé à lancer les générations (défaut : localhost +
|
|
# plages privées RFC1918 ; liste de CIDR, vide = tout autoriser).
|
|
# - LIDAR_REGEN_CIDR=192.168.1.0/24
|
|
# Serveur de DALLES amont (mapserve du worker) : sans données locales,
|
|
# l'inventaire vient de son /api/tiles et les images sont rapatriées à
|
|
# la demande dans ./output — de quoi servir tout un catalogue distant.
|
|
# - LIDAR_SOURCE_URL=http://192.168.1.50:8973
|
|
# Serveur de TUILES amont (autre instance lidar-maps) pour une carte
|
|
# déportée (Raspberry Pi) : une tuile absente localement y est rapatriée.
|
|
# - LIDAR_MAPS_URL=http://192.168.1.50:8975
|
|
# Mention d'attribution servie dans TileJSON, WMTS, JOSM et la carte.
|
|
# - LIDAR_ATTRIBUTION=LiDAR HD © IGN — Licence Ouverte 2.0
|
|
# Charge maximale : rendus et téléchargements simultanés, mémoire du
|
|
# cache d'images sources. Défauts taillés pour une petite machine ;
|
|
# à relever sur un serveur confortable.
|
|
# - LIDAR_TILE_WORKERS=2
|
|
# - LIDAR_TILE_FETCH_WORKERS=2
|
|
# - LIDAR_TILE_SOURCE_CACHE_MB=192
|
|
restart: unless-stopped
|