From cc1c22d2b88f2f9f4731e3a6533c2c6342c3bbf7 Mon Sep 17 00:00:00 2001 From: Antoine Date: Sun, 27 Sep 2026 22:45:26 +0200 Subject: [PATCH] Add docker-compose.maps.override.yml.example template for the Pi map Co-Authored-By: Claude Opus 5.5 --- .gitignore | 3 ++ docker-compose.maps.override.yml.example | 49 ++++++++++++++++++++++++ docs/DEPLOY_WEBAPP.md | 8 +++- 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 docker-compose.maps.override.yml.example diff --git a/.gitignore b/.gitignore index 1523918..97932f3 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,6 @@ output-test/ # Plans et specs de sessions de travail (internes) docs/superpowers/ .playwright-mcp/ + +# Override local de la carte légère (modèle : docker-compose.maps.override.yml.example) +docker-compose.maps.override.yml diff --git a/docker-compose.maps.override.yml.example b/docker-compose.maps.override.yml.example new file mode 100644 index 0000000..766979d --- /dev/null +++ b/docker-compose.maps.override.yml.example @@ -0,0 +1,49 @@ +# Override local de la carte légère (Raspberry Pi) — cf. docs/DEPLOY_WEBAPP.md. +# +# Copier en docker-compose.maps.override.yml (ignoré par git) puis adapter +# les adresses, le dossier de cache et le routage Traefik : +# cp docker-compose.maps.override.yml.example docker-compose.maps.override.yml +# docker compose -f docker-compose.maps.yml -f docker-compose.maps.override.yml up -d --build +# +# Compose >= 2.24 requis (balise !override). +name: lidar-maps +services: + maps: + # Remplace ./output par un dossier sur un volume plus gros (appartenant à + # l'uid 1000 : mkdir -p /srv/lidar/output && chown 1000:1000 /srv/lidar/output) + volumes: !override + - /srv/lidar/output:/data/output + # Plafond mémoire : un rendu déréglé ne peut pas emporter la machine + mem_limit: 1g + memswap_limit: 1g + environment: + - TZ=Europe/Paris + # Machine de traitement (docker-compose.worker.yml) + - LIDAR_SOURCE_URL=http://192.168.1.50:8973 # inventaire + dalles + - LIDAR_GENERATION_URL=http://192.168.1.50:8973 # génération déléguée + - LIDAR_MAPS_URL=http://192.168.1.50:8973 # tuiles téléchargées d'avance + # Même valeur que LIDAR_API_TOKEN côté worker, s'il en a un + # - LIDAR_REMOTE_TOKEN=un-secret-à-partager + # Réseaux autorisés à lancer une génération (défaut : plages privées) + # - LIDAR_REGEN_CIDR=192.168.1.0/24 + # Petite machine : la navigation ne rend rien, la pyramide est + # entretenue en tâche de fond + - LIDAR_TILE_WORKERS=1 + - LIDAR_TILE_SOURCE_CACHE_MB=64 + - LIDAR_TILE_CACHE_ONLY=1 + - LIDAR_TILE_BACKGROUND=1 + - LIDAR_TILE_BACKGROUND_PAUSE=1.0 + # Routage Traefik éventuel (HTTPS : requis pour le GPS sur téléphone). + # Sans Traefik, supprimer networks/labels et le bloc networks final. + networks: [default, proxy] + labels: + - "traefik.enable=true" + - "traefik.http.routers.lidar-maps.rule=Host(`lidar.example.fr`)" + - "traefik.http.routers.lidar-maps.entrypoints=websecure" + - "traefik.http.routers.lidar-maps.tls.certresolver=myresolver" + - "traefik.http.services.lidar-maps.loadbalancer.server.port=8975" + +networks: + proxy: + name: proxy + external: true diff --git a/docs/DEPLOY_WEBAPP.md b/docs/DEPLOY_WEBAPP.md index 035f9c4..8db06b8 100644 --- a/docs/DEPLOY_WEBAPP.md +++ b/docs/DEPLOY_WEBAPP.md @@ -76,7 +76,13 @@ the cache fills on demand from the processing machine. `docker-compose.maps.yml` (versioned) serves as the base; the Pi's local configuration lives in an **override** file `docker-compose.maps.override.yml` -(not versioned): +(not versioned). Start from the provided template: + +```bash +cp docker-compose.maps.override.yml.example docker-compose.maps.override.yml +``` + +It looks like this (adapt addresses, cache folder and Traefik routing): ```yaml name: lidar-maps