From 1cda6f4660c9589615d45bde083f231c308de525 Mon Sep 17 00:00:00 2001 From: Vincent Guillet Date: Fri, 28 Nov 2025 15:47:43 +0000 Subject: [PATCH] Update docker-compose.yml --- docker-compose.yml | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 63b8777..0df2b45 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,6 +28,7 @@ services: SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/gameovergne_app?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC SPRING_DATASOURCE_USERNAME: gameovergne SPRING_DATASOURCE_PASSWORD: gameovergne + # L'API écoute sur 3000 dans le container SERVER_PORT: 3000 networks: - gameovergne @@ -37,7 +38,7 @@ services: - traefik.enable=true - traefik.docker.network=traefik - # API sous /gameovergne-api (plus spécifique que /gameovergne) + # API sous /gameovergne-api - traefik.http.routers.gameovergne-api.rule=Host(`dev.vincent-guillet.fr`) && PathPrefix(`/gameovergne-api`) - traefik.http.routers.gameovergne-api.entrypoints=edge - traefik.http.routers.gameovergne-api.service=gameovergne-api @@ -58,17 +59,27 @@ services: - traefik.enable=true - traefik.docker.network=traefik - # FRONT UNIQUEMENT sous /gameovergne - - traefik.http.routers.gameovergne-client.rule=Host(`dev.vincent-guillet.fr`) && PathPrefix(`/gameovergne`) + # FRONT sous /gameovergne (avec et sans slash final) + - traefik.http.routers.gameovergne-client.rule=Host(`dev.vincent-guillet.fr`) && (Path(`/gameovergne`) || PathPrefix(`/gameovergne/`)) - traefik.http.routers.gameovergne-client.entrypoints=edge - traefik.http.routers.gameovergne-client.service=gameovergne-client - - traefik.http.routers.gameovergne-client.middlewares=gameovergne-client-stripprefix + - traefik.http.routers.gameovergne-client.middlewares=gameovergne-slash,gameovergne-client-stripprefix - # On enlève /gameovergne avant d'envoyer vers ng serve (qui écoute sur /) + # Ajoute un "/" si on arrive sur /gameovergne sans slash + - traefik.http.middlewares.gameovergne-slash.redirectregex.regex=^(.*/gameovergne)$$ + - traefik.http.middlewares.gameovergne-slash.redirectregex.replacement=$$1/ + - traefik.http.middlewares.gameovergne-slash.redirectregex.permanent=true + + # Enlève /gameovergne avant d'envoyer vers Nginx (qui sert l'app sur /) - traefik.http.middlewares.gameovergne-client-stripprefix.stripprefix.prefixes=/gameovergne - # ng serve sur 4200 dans le conteneur - - traefik.http.services.gameovergne-client.loadbalancer.server.port=4200 + # Proxy Presta via /ps (toujours vers ce conteneur Angular/Nginx) + - traefik.http.routers.gameovergne-ps.rule=Host(`dev.vincent-guillet.fr`) && PathPrefix(`/ps`) + - traefik.http.routers.gameovergne-ps.entrypoints=edge + - traefik.http.routers.gameovergne-ps.service=gameovergne-client + + # Nginx écoute sur 80 dans le conteneur + - traefik.http.services.gameovergne-client.loadbalancer.server.port=80 networks: traefik: