# docker-compose.webapp.override.yml — EXEMPLE (copier sans le suffixe .example) # # NON VERSIONNÉ (ignoré par git) : il vit sur le Pi. Ce fichier démontre la # config Traefik qui termine le TLS (certificat porté par le proxy) et expose # la carte en https:// — contexte sécurisé requis par le bouton ⌖ # (« centrer sur la position GPS » du téléphone). # # cp docker-compose.webapp.override.yml.example docker-compose.webapp.override.yml # # adapter LIDAR_WEBAPP_HOST (et si besoin l'entrypoint / le certresolver) # # docker compose ne merge PAS automatiquement un override au nom custom # (il n'auto-charge que docker-compose.override.yml) : passer -f explicitement. # docker compose -f docker-compose.webapp.yml \ # -f docker-compose.webapp.override.yml up -d --build # # docker compose applique ce fichier par-dessus docker-compose.webapp.yml ; # il suffit de la clé `labels`, le reste hérite du compose principal. Le # webapp sert du HTTP ; Traefik y accède via le port 8973 du conteneur. # # Le domaine se définit par LIDAR_WEBAPP_HOST (dans un .env à côté du compose # ou l'environnement) ; défaut lidar.local. Remplacer par le domaine réel, ou # simplement écrire le domaine en dur dans la règle Host() ci-dessous. services: webapp: labels: # Activer le provider Docker pour ce conteneur. - traefik.enable=true # Router sur le domaine (adapter) vers le service webapp:8973. - "traefik.http.routers.lidar-webapp.rule=Host(`${LIDAR_WEBAPP_HOST:-lidar.local}`)" # Entrée HTTPS (443) + TLS avec le certificat porté par Traefik. - traefik.http.routers.lidar-webapp.entrypoints=websecure - traefik.http.routers.lidar-webapp.tls=true # Si un certresolver spécifique (ACME / Let's Encrypt…) plutôt que le # certificat par défaut du proxy : # - "traefik.http.routers.lidar-webapp.tls.certresolver=letsencrypt" # Service explicite vers le conteneur (nom_docker:port) : # - "traefik.http.services.lidar-webapp.loadbalancer.server.port=8973"