From 0697dbcfe613a0bb633a80d4e226b2651c4988b4 Mon Sep 17 00:00:00 2001 From: kayjaydee Date: Wed, 8 Apr 2026 16:48:47 +0200 Subject: [PATCH] feat(docker): add docker-compose configuration for portfolio service - Introduced a new docker-compose.yml file to define the portfolio service. - Configured Traefik routing with TLS settings and redirect middleware for non-www to www. - Set up environment variables and network configuration for the service. --- docker-compose.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..a51e508 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,34 @@ +services: + portfolio: + image: portfolio + container_name: portfolio + restart: unless-stopped + environment: + - TZ=Europe/Paris + networks: + - public + labels: + - 'traefik.enable=true' + - 'com.centurylinklabs.watchtower.enable=false' + - 'traefik.http.services.portfolio.loadbalancer.server.port=80' + # Main router (non-www) + - 'traefik.http.routers.portfolio.rule=Host(`${PORTFOLIO_URL}`)' + - 'traefik.http.routers.portfolio.entrypoints=websecure' + - 'traefik.http.routers.portfolio.tls.certresolver=public' + - 'traefik.http.routers.portfolio.tls.domains[0].main=killiandalcin.fr' + - 'traefik.http.routers.portfolio.tls.domains[0].sans=*.killiandalcin.fr' + # WWW redirect router + - 'traefik.http.routers.portfolio-www-redirect.rule=Host(`${PORTFOLIO_URL_WWW}`)' + - 'traefik.http.routers.portfolio-www-redirect.entrypoints=websecure' + - 'traefik.http.routers.portfolio-www-redirect.tls.certresolver=public' + - 'traefik.http.routers.portfolio-www-redirect.middlewares=www-to-non-www' + - 'traefik.http.routers.portfolio-www-redirect.service=noop@internal' + # Redirect middleware + - 'traefik.http.middlewares.www-to-non-www.redirectregex.regex=^https://www\.(.+)' + - 'traefik.http.middlewares.www-to-non-www.redirectregex.replacement=https://$${1}' + - 'traefik.http.middlewares.www-to-non-www.redirectregex.permanent=true' + +networks: + public: + driver: bridge + external: true