chore(traefik): migrate compose overrides to v3 traefik

This commit is contained in:
Rocket-Quack 2026-01-16 12:52:20 +01:00
parent bc254c2b4c
commit 8afa5d60f5
7 changed files with 140 additions and 133 deletions

View file

@ -14,7 +14,8 @@ services:
- traefik.http.services.${ROUTER?ROUTER not set}.loadbalancer.server.port=2016 - traefik.http.services.${ROUTER?ROUTER not set}.loadbalancer.server.port=2016
- traefik.http.routers.${ROUTER}.service=${ROUTER} - traefik.http.routers.${ROUTER}.service=${ROUTER}
- traefik.http.routers.${ROUTER}.entrypoints=http - traefik.http.routers.${ROUTER}.entrypoints=http
- traefik.http.routers.${ROUTER}.rule=Host(${SITES?SITES not set}) - traefik.http.routers.${ROUTER}.ruleSyntax=v3
- traefik.http.routers.${ROUTER}.rule=${SITES_RULE?SITES_RULE not set}
- traefik.http.middlewares.${ROUTER}.headers.customrequestheaders.Host=${BASE_SITE?BASE_SITE not set} - traefik.http.middlewares.${ROUTER}.headers.customrequestheaders.Host=${BASE_SITE?BASE_SITE not set}
- traefik.http.routers.${ROUTER}.middlewares=${ROUTER} - traefik.http.routers.${ROUTER}.middlewares=${ROUTER}
networks: networks:

View file

@ -5,10 +5,11 @@ services:
- traefik.http.services.frontend.loadbalancer.server.port=8080 - traefik.http.services.frontend.loadbalancer.server.port=8080
- traefik.http.routers.frontend-http.entrypoints=websecure - traefik.http.routers.frontend-http.entrypoints=websecure
- traefik.http.routers.frontend-http.tls.certresolver=main-resolver - traefik.http.routers.frontend-http.tls.certresolver=main-resolver
- traefik.http.routers.frontend-http.rule=Host(${SITES:?List of sites not set}) - traefik.http.routers.frontend-http.ruleSyntax=v3
- traefik.http.routers.frontend-http.rule=${SITES_RULE:?SITES_RULE not set}
proxy: proxy:
image: traefik:v2.11 image: traefik:v3.6
restart: unless-stopped restart: unless-stopped
command: command:
- --providers.docker=true - --providers.docker=true

View file

@ -4,8 +4,9 @@ services:
# ${ROUTER}-http to use the middleware to redirect to https # ${ROUTER}-http to use the middleware to redirect to https
- traefik.http.routers.${ROUTER}-http.middlewares=https-redirect - traefik.http.routers.${ROUTER}-http.middlewares=https-redirect
# ${ROUTER}-https the actual router using HTTPS # ${ROUTER}-https the actual router using HTTPS
# Uses the environment variable SITES # Uses the environment variable SITES_RULE
- traefik.http.routers.${ROUTER}-https.rule=Host(${SITES?SITES not set}) - traefik.http.routers.${ROUTER}-https.ruleSyntax=v3
- traefik.http.routers.${ROUTER}-https.rule=${SITES_RULE?SITES_RULE not set}
- traefik.http.routers.${ROUTER}-https.entrypoints=https - traefik.http.routers.${ROUTER}-https.entrypoints=https
- traefik.http.routers.${ROUTER}-https.tls=true - traefik.http.routers.${ROUTER}-https.tls=true
# Use the service ${ROUTER} with the frontend # Use the service ${ROUTER} with the frontend

View file

@ -9,7 +9,8 @@ services:
- traefik.http.services.${ROUTER?ROUTER not set}.loadbalancer.server.port=8080 - traefik.http.services.${ROUTER?ROUTER not set}.loadbalancer.server.port=8080
- traefik.http.routers.${ROUTER}-http.service=${ROUTER} - traefik.http.routers.${ROUTER}-http.service=${ROUTER}
- traefik.http.routers.${ROUTER}-http.entrypoints=http - traefik.http.routers.${ROUTER}-http.entrypoints=http
- traefik.http.routers.${ROUTER}-http.rule=Host(${SITES?SITES not set}) - traefik.http.routers.${ROUTER}-http.ruleSyntax=v3
- traefik.http.routers.${ROUTER}-http.rule=${SITES_RULE?SITES_RULE not set}
configurator: configurator:
networks: networks:
- bench-network - bench-network

View file

@ -4,10 +4,11 @@ services:
- traefik.enable=true - traefik.enable=true
- traefik.http.services.frontend.loadbalancer.server.port=8080 - traefik.http.services.frontend.loadbalancer.server.port=8080
- traefik.http.routers.frontend-http.entrypoints=web - traefik.http.routers.frontend-http.entrypoints=web
- traefik.http.routers.frontend-http.rule=HostRegexp(`{any:.+}`) - traefik.http.routers.frontend-http.ruleSyntax=v3
- traefik.http.routers.frontend-http.rule=HostRegexp(`^.+$`)
proxy: proxy:
image: traefik:v2.11 image: traefik:v3.6
command: command:
- --providers.docker - --providers.docker
- --providers.docker.exposedbydefault=false - --providers.docker.exposedbydefault=false

View file

@ -9,6 +9,7 @@ services:
- traefik.http.routers.traefik-public-http.middlewares=https-redirect - traefik.http.routers.traefik-public-http.middlewares=https-redirect
# traefik-https the actual router using HTTPS # traefik-https the actual router using HTTPS
# Uses the environment variable DOMAIN # Uses the environment variable DOMAIN
- traefik.http.routers.traefik-public-https.ruleSyntax=v3
- traefik.http.routers.traefik-public-https.rule=Host(`${TRAEFIK_DOMAIN}`) - traefik.http.routers.traefik-public-https.rule=Host(`${TRAEFIK_DOMAIN}`)
- traefik.http.routers.traefik-public-https.entrypoints=https - traefik.http.routers.traefik-public-https.entrypoints=https
- traefik.http.routers.traefik-public-https.tls=true - traefik.http.routers.traefik-public-https.tls=true

View file

@ -1,6 +1,6 @@
services: services:
traefik: traefik:
image: "traefik:v2.11" image: "traefik:v3.6"
restart: unless-stopped restart: unless-stopped
labels: labels:
# Enable Traefik for this service, to make it available in the public network # Enable Traefik for this service, to make it available in the public network
@ -11,6 +11,7 @@ services:
# Using the environment variables USERNAME and HASHED_PASSWORD # Using the environment variables USERNAME and HASHED_PASSWORD
- traefik.http.middlewares.admin-auth.basicauth.users=admin:${HASHED_PASSWORD:?No HASHED_PASSWORD set} - traefik.http.middlewares.admin-auth.basicauth.users=admin:${HASHED_PASSWORD:?No HASHED_PASSWORD set}
# Uses the environment variable TRAEFIK_DOMAIN # Uses the environment variable TRAEFIK_DOMAIN
- traefik.http.routers.traefik-public-http.ruleSyntax=v3
- traefik.http.routers.traefik-public-http.rule=Host(`${TRAEFIK_DOMAIN:?No TRAEFIK_DOMAIN set}`) - traefik.http.routers.traefik-public-http.rule=Host(`${TRAEFIK_DOMAIN:?No TRAEFIK_DOMAIN set}`)
- traefik.http.routers.traefik-public-http.entrypoints=http - traefik.http.routers.traefik-public-http.entrypoints=http
# Use the special Traefik service api@internal with the web UI/Dashboard # Use the special Traefik service api@internal with the web UI/Dashboard