From 59fa4a73f2e02c54f5b1e0d5334a5e95f4a589dc Mon Sep 17 00:00:00 2001 From: Tobias Manske Date: Sat, 18 Jun 2022 16:19:04 +0200 Subject: [PATCH] Reimplement redirect domains Signed-off-by: Tobias Manske --- compose/05_caddy/.env | 1 + compose/05_caddy/Caddyfile | 10 ++++++++++ compose/05_caddy/docker-compose.yml | 21 +++++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 compose/05_caddy/.env create mode 100644 compose/05_caddy/Caddyfile create mode 100644 compose/05_caddy/docker-compose.yml diff --git a/compose/05_caddy/.env b/compose/05_caddy/.env new file mode 100644 index 0000000..5a41ccd --- /dev/null +++ b/compose/05_caddy/.env @@ -0,0 +1 @@ +COMPOSE_PROJECT_NAME=caddy diff --git a/compose/05_caddy/Caddyfile b/compose/05_caddy/Caddyfile new file mode 100644 index 0000000..a1199c4 --- /dev/null +++ b/compose/05_caddy/Caddyfile @@ -0,0 +1,10 @@ +{ + auto_https off +} + +{% for rule in redirect.hosts %} +http://{{ rule.from }} { + redir https://{{ rule.to }}{uri} permanent +} + +{% endfor %} diff --git a/compose/05_caddy/docker-compose.yml b/compose/05_caddy/docker-compose.yml new file mode 100644 index 0000000..f32c95b --- /dev/null +++ b/compose/05_caddy/docker-compose.yml @@ -0,0 +1,21 @@ +--- +version: "3.4" + +services: + redirect: + image: caddy:2 + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile:ro,z + labels: + - "traefik.enable=true" + - "traefik.http.routers.caddyredir.rule={{ redirect.hosts | map(attribute='from') | map('regex_replace', '^(.*)$', 'Host(`\\1`)') | join(' || ') }}" + - "traefik.http.routers.caddyredir.entryPoints=websecure" + - "traefik.http.services.caddyredir.loadbalancer.server.port=80" + - "com.centurylinklabs.watchtower.scope=update" + restart: always + networks: + - gateway + +networks: + gateway: + external: true