Merge pull request #1798 from Rocket-Quack/chore/Transition-Update-Traefik-to-Version-3.6

chore: Transition preparations to update Traefik Image to version 3.6
This commit is contained in:
Daniel Radl 2026-01-19 22:11:18 +01:00 committed by GitHub
commit 71da246b40
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 21 additions and 3 deletions

View file

@ -60,6 +60,10 @@ SITES=`mysite.example.com`
SITES=`{any:.+}`
```
> Note: `SITES` currently supplies the host list that goes into the `Host(...)` rules. Once the Traefik v3 transition is completed, the plan is to switch to `SITES_RULE` (full rule expression) and deprecate `SITES` to map the Traefik Rule Syntax.
> Currently the used syntax is pinned to v2 via `--core.defaultRuleSyntax=v2`).
---
## Site Configuration

View file

@ -4,6 +4,8 @@ Overrides extend the base compose.yaml with additional services or modify existi
docker compose -f compose.yaml -f overrides/compose.mariadb.yaml -f overrides/compose.redis.yaml config > compose.custom.yaml
```
Note: The Traefik-based overrides uses Traefik v3.6 and `--core.defaultRuleSyntax=v2` for compatibility with existing traefik v2.11. This flag is temporary and will be removed once the transition to v3.6 is completed.
| Overrider | Purpose | Additional Info |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| **Database** | | |

View file

@ -8,11 +8,14 @@ services:
- traefik.http.routers.frontend-http.rule=Host(${SITES:?List of sites not set})
proxy:
image: traefik:v2.11
image: traefik:v3.6
restart: unless-stopped
command:
- --providers.docker=true
- --providers.docker.exposedbydefault=false
# Keep v2 rule syntax for now
# Ensure compatibility with existing labels (will be removed if v3 transition is complete)
- --core.defaultRuleSyntax=v2
- --entrypoints.web.address=:80
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --entrypoints.web.http.redirections.entrypoint.scheme=https

View file

@ -7,10 +7,13 @@ services:
- traefik.http.routers.frontend-http.rule=HostRegexp(`{any:.+}`)
proxy:
image: traefik:v2.11
image: traefik:v3.6
command:
- --providers.docker
- --providers.docker.exposedbydefault=false
# Keep v2 rule syntax for now
# Ensure compatibility with existing labels (will be removed if v3 transition is complete)
- --core.defaultRuleSyntax=v2
- --entrypoints.web.address=:80
ports:
- ${HTTP_PUBLISH_PORT:-80}:80

View file

@ -23,6 +23,9 @@ services:
- --providers.docker=true
# Do not expose all Docker services, only the ones explicitly exposed
- --providers.docker.exposedbydefault=false
# Keep v2 rule syntax for now
# Ensure compatibility with existing labels (will be removed if v3 transition is complete)
- --core.defaultRuleSyntax=v2
# Create an entrypoint http listening on port 80
- --entrypoints.http.address=:80
# Create an entrypoint https listening on port 443

View file

@ -1,6 +1,6 @@
services:
traefik:
image: "traefik:v2.11"
image: "traefik:v3.6"
restart: unless-stopped
labels:
# Enable Traefik for this service, to make it available in the public network
@ -24,6 +24,9 @@ services:
- --providers.docker=true
# Do not expose all Docker services, only the ones explicitly exposed
- --providers.docker.exposedbydefault=false
# Keep v2 rule syntax for now
# Ensure compatibility with existing labels (will be removed if v3 transition is complete)
- --core.defaultRuleSyntax=v2
# Create an entrypoint http listening on port 80
- --entrypoints.http.address=:80
# Enable the access log, with HTTP requests