Files
lidar_rendu/docker-compose.maps.yml

62 lines
2.9 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
# Pyramide complète (défaut) : tous les niveaux jusqu'au natif (z19,
# 0,2 m/px) sont stockés et générés d'avance. Stockage réduit : niveaux
# pairs seuls et/ou plafond plus bas, le reste rendu à la volée avec un
# cache mémoire.
# - LIDAR_TILE_CACHE_MAX_Z=16
# - LIDAR_TILE_EVEN_LEVELS=1
# - LIDAR_TILE_MEMORY_CACHE_MB=64
restart: unless-stopped