# 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 `worker` du docker-compose.worker.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: # Cache local des tuiles, peuplé à la demande depuis LIDAR_GENERATION_URL - ./output:/data/output # Clé SSH du hôte (déploiement, git pull distant) si nécessaire # - ~/.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 # Adresse du backend de génération des tuiles (machine de traitement, # service `worker` de son docker-compose.worker.yml) — à définir : # LIDAR_GENERATION_URL=http://:8973 # Sans cette variable : consultation autonome du cache local, aucune # génération possible depuis l'interface. # - 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 # Les tuiles sont servies à la demande depuis LIDAR_GENERATION_URL # (cache peuplé au fil des consultations) : plus de rsync ni de sync # périodique ; le bouton ↻ / POST /api/sync déclenchent le rebuild. # Réseau autorisé à lancer les générations depuis la carte (défaut : # localhost + plages privées RFC1918 ; chaîne vide = restriction levée). # Les autres clients consultent la carte en lecture seule (boutons # masqués, API 403). # - LIDAR_REGEN_CIDR=192.168.1.0/24 # Le webapp sert du HTTP. Le TLS est terminé par le reverse proxy (Traefik, # certificat porté par le proxy) : la configuration Traefik (routage HTTPS) # vit dans le fichier override local docker-compose.webapp.override.yml # (non versionné, sur le Pi) — cf. docs/DEPLOY_WEBAPP.md « Centrer la # carte sur la position GPS » et docker-compose.webapp.override.yml.example. restart: unless-stopped