christianlempa-boilerplates/docker-compose
Christoph Schug a20783287c fix: fix Traefik 3 host rule matching
The function `HostHost` is an obvious typo, such a function does not
exist, most likely just `Hosts` is meant here.

Furthermore, Trafik 3 doesn't use the Gorilla Mux framework
anymore, therefore the matching using curly brace syntax like in
`{subhost:[a-z]+}` isn't supported anymore. For details, see [1].
Alas, the final Traffic 2 to 3 migration document dropped this crucial
information but at least all of those many examples using this method
which were in the Trafik 2 documentation were removed from the Traefik 3
documentation.

Also `[a-z]+` does not match all valid sub-domains as specified per RFC
1123 [2], and needs to be enhanced to support hyphen characters within a
single DNS label as well (but not at the start or the end of a label).
This is also a requirement for i18n domains in their ACE representation.

Actually the regular expression can be made even more strict to comply
with length limitations as defined in RFC 2181 [3] but this would require
pretty resource-intense lookarounds in the regular expression, therefore
those should be neglected here.

As we are doing regular expression match anyway, the `Host` function can
be dropped. It adds redundancy to the configuration and only would make
sense from a performance point of view, if the vast majority of requests
would lack any sub-domain.

Last but not least, the Trafik documentation isn't clear at all, whether
any potential port number is being stripped from the `Host` request header.
From empiric testing with Traefik 3.0.1 that's apparently the case, but
as it isn't a documented feature, we rather accept potential ports as
well.

Same when it comes to case-sensitivity. From testing it looks like the
hostname is always forced to lower-case chararcters, but strangely
enough even the official documentation contains an example which
suggests enabling case-insensitive mode for regular expression matching
using `(?i)`. Therefore we better stick with that one as well.

[1] https://traefik.io/blog/traefik-proxy-3-0-scope-beta-program-and-the-first-feature-drop/
[2] https://datatracker.ietf.org/doc/html/rfc1123
[3] https://datatracker.ietf.org/doc/html/rfc2181
2024-06-02 19:43:03 +02:00
..
ansiblesemaphore chore(deps): update docker.io/semaphoreui/semaphore docker tag to v2.9.112 2024-05-30 13:48:55 +00:00
authentik chore(deps): update docker.io/library/redis docker tag to v7.2.5 2024-05-21 00:28:22 +00:00
bind9 feat: always reference the full image name incl. the registry 2024-03-27 23:13:41 +01:00
cadvisor chore(deps): update gcr.io/cadvisor/cadvisor docker tag to v0.49.1 2024-03-18 15:35:16 +00:00
duplicati chore(deps): update lscr.io/linuxserver/duplicati docker tag to v2.0.8 2024-05-07 13:50:28 +00:00
factory chore(deps): update refactr/runner-pool docker tag to v0.146.0 2024-04-29 20:13:05 +00:00
grafana chore(deps): update docker.io/grafana/grafana-oss docker tag to v11 2024-05-14 08:53:30 +00:00
heimdall chore(deps): update lscr.io/linuxserver/heimdall docker tag to v2.6.1 2024-05-02 18:00:34 +00:00
homeassistant chore(deps): update ghcr.io/home-assistant/home-assistant docker tag to v2024.5.5 2024-05-24 23:05:07 +00:00
homepage fix error with docker image tag 2024-05-31 09:31:59 +02:00
homer chore(deps): update docker.io/b4bz/homer docker tag to v24.05.1 2024-05-22 13:26:39 +00:00
influxdb chore(deps): update docker.io/library/influxdb docker tag to v2.7.6 2024-04-13 01:08:19 +00:00
mariadb chore(deps): update docker.io/library/mariadb docker tag to v11.4.2 2024-05-31 03:33:10 +00:00
nextcloud chore(deps): update docker.io/library/nextcloud docker tag to v29.0.1 2024-05-31 19:59:38 +00:00
nginx chore(deps): update docker.io/library/nginx docker tag to v1.26.1 2024-05-30 21:29:33 +00:00
nginxproxymanager chore(deps): update docker.io/jc21/nginx-proxy-manager docker tag to v2.11.2 2024-05-02 03:00:42 +00:00
nodeexporter chore(deps): update quay.io/prometheus/node-exporter docker tag to v1.8.1 2024-05-21 21:30:23 +00:00
nvidiadgcm fix: add final newline character to text files 2024-02-22 19:06:54 +01:00
nvidiasmi feat: always reference the full image name incl. the registry 2024-03-27 23:13:41 +01:00
passbolt feat: always reference the full image name incl. the registry 2024-03-27 23:13:41 +01:00
pihole feat: always reference the full image name incl. the registry 2024-03-27 23:13:41 +01:00
portainer feat: always reference the full image name incl. the registry 2024-03-27 23:13:41 +01:00
portainer-agent feat: always reference the full image name incl. the registry 2024-03-27 23:13:41 +01:00
postgres chore(deps): update docker.io/library/postgres docker tag to v16.3 2024-05-10 00:26:30 +00:00
prometheus chore(deps): update docker.io/prom/prometheus docker tag to v2.52.0 2024-05-09 00:38:01 +00:00
swag feat: always reference the full image name incl. the registry 2024-03-27 23:13:41 +01:00
teleport fix: fix Traefik 3 host rule matching 2024-06-02 19:43:03 +02:00
traefik chore(deps): update docker.io/library/traefik docker tag to v3.0.1 2024-05-22 19:11:34 +00:00
twingate/connector twingate compose file 2023-08-24 09:42:05 +02:00
uptimekuma chore(deps): update docker.io/louislam/uptime-kuma docker tag to v1.23.13 2024-04-25 09:08:23 +00:00