Le bouton ⌖ recentre la carte sur la position GPS du téléphone. L'API Geolocation exige un contexte sécurisé : la webapp sert désormais du HTTP et le TLS est porté par le reverse proxy (Traefik, labels dans l'override local) ; le webapp est transparent au proxy (URLs relatives, X-Forwarded-For pour la restriction LIDAR_REGEN_CIDR). Ajoute le modèle d'override docker-compose.webapp.override.yml.example, un rebuild d'index à la demande et met à jour doc/déploiement ; les tuiles sont servies à la demande.
38 lines
2.0 KiB
Plaintext
38 lines
2.0 KiB
Plaintext
# 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://<domaine> — 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"
|