Split webapp for Raspberry Pi deployment, remote generation API and sync
La webapp (carte + vignettes) et la génération de tuiles se déploient sur deux machines : image légère Dockerfile.webapp (FastAPI + Pillow AVIF natif + pyproj) sur Raspberry Pi, pipeline complet sur la machine de traitement. LIDAR_GENERATION_URL délègue /api/generate, /api/preview et /api/status ; /api/sync ramène les tuiles par rsync puis régénère vignettes et index localement. Token partagé optionnel (LIDAR_API_TOKEN/LIDAR_REMOTE_TOKEN). Retire du dépôt les journaux internes (.swival, audit-findings) et les données (data/, notebooks/). Doc : docs/DEPLOY_WEBAPP.md.
This commit is contained in:
37
docker-compose.webapp.yml
Normal file
37
docker-compose.webapp.yml
Normal file
@ -0,0 +1,37 @@
|
||||
# Webapp légère pour Raspberry Pi — cf. docs/DEPLOY_WEBAPP.md.
|
||||
#
|
||||
# La carte et les vignettes sont servies localement ; la génération de tuiles
|
||||
# (téléchargement IGN + traitement PDAL/GPU) est déléguée à la machine de
|
||||
# traitement = service `serve` du docker-compose.yml de cette machine.
|
||||
#
|
||||
# docker compose -f docker-compose.webapp.yml up -d --build
|
||||
# docker compose -f docker-compose.webapp.yml logs -f webapp
|
||||
services:
|
||||
webapp:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.webapp
|
||||
image: lidar-webapp
|
||||
container_name: lidar-webapp
|
||||
init: true
|
||||
user: "1000:1000"
|
||||
ports:
|
||||
- "8973:8973"
|
||||
volumes:
|
||||
# Copie locale des tuiles traitées, synchronisée par LIDAR_SYNC_CMD
|
||||
- ./output:/data/output
|
||||
# Clé SSH du rsync vers la machine de traitement (LIDAR_SYNC_CMD)
|
||||
# - ~/.ssh:/home/lidar/.ssh:ro
|
||||
# Configuration SSH (known_hosts) si nécessaire
|
||||
# - ~/.ssh/config:/home/lidar/.ssh/config:ro
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- LIDAR_OUTPUT_DIR=/data/output
|
||||
# Machine de traitement (service `serve` de son docker-compose.yml)
|
||||
- LIDAR_GENERATION_URL=http://192.168.1.50:8973
|
||||
# Jeton partagé si LIDAR_API_TOKEN est défini sur la machine de traitement
|
||||
# - LIDAR_REMOTE_TOKEN=change-moi
|
||||
# Ramène les tuiles traitées + sidecars DTM (les vignettes sont
|
||||
# régénérées localement par /api/sync, ne pas les synchroniser)
|
||||
# - LIDAR_SYNC_CMD=rsync -a --delete --exclude=*.tif --exclude=.generation* --exclude=index_thumbs --exclude=index_subtiles lidar@192.168.1.50:/srv/lidar/output/ /data/output/
|
||||
restart: unless-stopped
|
||||
Reference in New Issue
Block a user