From 0c330a164c5e63b3dccac4f6d0d9f08ff1f92605 Mon Sep 17 00:00:00 2001 From: Jonas Thelemann Date: Tue, 27 Oct 2026 12:45:34 +0100 Subject: [PATCH 1/2] fix(traefik): redirect http to https in production --- src/development/adminer/compose.yaml | 2 +- src/development/cadvisor/compose.yaml | 2 +- src/development/grafana/compose.yaml | 2 +- src/development/minio/compose.yaml | 4 ++-- src/development/portainer/compose.yaml | 2 +- src/development/postgraphile/compose.yaml | 2 +- src/development/prometheus/compose.yaml | 2 +- src/development/reccoom/compose.yaml | 2 +- src/development/redpanda/compose.yaml | 2 +- src/development/traefik/compose.yaml | 4 ++-- src/development/zammad/compose.yaml | 2 +- src/production/tusd/compose.yaml | 2 +- src/production/vibetype/compose.yaml | 2 +- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/development/adminer/compose.yaml b/src/development/adminer/compose.yaml index 0105ff46..c4bbd073 100644 --- a/src/development/adminer/compose.yaml +++ b/src/development/adminer/compose.yaml @@ -17,7 +17,7 @@ services: - dargstack.profiles=default - traefik.enable=true - traefik.http.routers.adminer.entryPoints=web - - traefik.http.routers.adminer.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.adminer.middlewares=redirectscheme - traefik.http.routers.adminer.rule=Host(`adminer.${STACK_DOMAIN}`) - traefik.http.routers.adminer-secure.entryPoints=web-secure - traefik.http.routers.adminer-secure.rule=Host(`adminer.${STACK_DOMAIN}`) diff --git a/src/development/cadvisor/compose.yaml b/src/development/cadvisor/compose.yaml index 550c90a2..d46d4129 100644 --- a/src/development/cadvisor/compose.yaml +++ b/src/development/cadvisor/compose.yaml @@ -6,7 +6,7 @@ services: - dargstack.profiles=analytics - traefik.enable=true - traefik.http.routers.cadvisor.entryPoints=web - - traefik.http.routers.cadvisor.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.cadvisor.middlewares=redirectscheme - traefik.http.routers.cadvisor.rule=Host(`cadvisor.${STACK_DOMAIN}`) - traefik.http.routers.cadvisor-secure.entryPoints=web-secure - traefik.http.routers.cadvisor-secure.rule=Host(`cadvisor.${STACK_DOMAIN}`) diff --git a/src/development/grafana/compose.yaml b/src/development/grafana/compose.yaml index 98ecfb4b..b997bda4 100644 --- a/src/development/grafana/compose.yaml +++ b/src/development/grafana/compose.yaml @@ -17,7 +17,7 @@ services: - dargstack.profiles=analytics - traefik.enable=true - traefik.http.routers.grafana.entryPoints=web - - traefik.http.routers.grafana.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.grafana.middlewares=redirectscheme - traefik.http.routers.grafana.rule=Host(`grafana.${STACK_DOMAIN}`) - traefik.http.routers.grafana-secure.entryPoints=web-secure - traefik.http.routers.grafana-secure.rule=Host(`grafana.${STACK_DOMAIN}`) diff --git a/src/development/minio/compose.yaml b/src/development/minio/compose.yaml index f6ad7ad4..77c70a60 100644 --- a/src/development/minio/compose.yaml +++ b/src/development/minio/compose.yaml @@ -16,7 +16,7 @@ services: - traefik.enable=true # Minio Console - traefik.http.routers.minio.entryPoints=web - - traefik.http.routers.minio.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.minio.middlewares=redirectscheme - traefik.http.routers.minio.rule=Host(`minio.${STACK_DOMAIN}`) - traefik.http.routers.minio.service=minio - traefik.http.routers.minio-secure.entryPoints=web-secure @@ -27,7 +27,7 @@ services: - traefik.http.services.minio.loadbalancer.passhostheader=true # Minio itself - traefik.http.routers.s3.entryPoints=web - - traefik.http.routers.s3.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.s3.middlewares=redirectscheme - traefik.http.routers.s3.rule=Host(`s3.${STACK_DOMAIN}`) - traefik.http.routers.s3.service=s3 - traefik.http.routers.s3-secure.entryPoints=web-secure diff --git a/src/development/portainer/compose.yaml b/src/development/portainer/compose.yaml index 6139bfc9..f4ae397c 100644 --- a/src/development/portainer/compose.yaml +++ b/src/development/portainer/compose.yaml @@ -11,7 +11,7 @@ services: - dargstack.profiles=default - traefik.enable=true - traefik.http.routers.portainer.entryPoints=web - - traefik.http.routers.portainer.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.portainer.middlewares=redirectscheme - traefik.http.routers.portainer.rule=Host(`portainer.${STACK_DOMAIN}`) - traefik.http.routers.portainer-secure.entryPoints=web-secure - traefik.http.routers.portainer-secure.rule=Host(`portainer.${STACK_DOMAIN}`) diff --git a/src/development/postgraphile/compose.yaml b/src/development/postgraphile/compose.yaml index 04ea8ef7..ec6efe33 100644 --- a/src/development/postgraphile/compose.yaml +++ b/src/development/postgraphile/compose.yaml @@ -28,7 +28,7 @@ services: - traefik.http.middlewares.postgraphile-cors.headers.accessControlAllowHeaders=authorization - traefik.http.middlewares.postgraphile-cors.headers.accessControlAllowOriginList=https://${STACK_DOMAIN},https://localhost:3000,https://app.localhost:3000 - traefik.http.routers.postgraphile.entryPoints=web - - traefik.http.routers.postgraphile.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.postgraphile.middlewares=redirectscheme - traefik.http.routers.postgraphile.rule=Host(`postgraphile.${STACK_DOMAIN}`) - traefik.http.routers.postgraphile-secure.entryPoints=web-secure - traefik.http.routers.postgraphile-secure.middlewares=postgraphile-cors diff --git a/src/development/prometheus/compose.yaml b/src/development/prometheus/compose.yaml index d99176ec..30bbf93c 100644 --- a/src/development/prometheus/compose.yaml +++ b/src/development/prometheus/compose.yaml @@ -6,7 +6,7 @@ services: - dargstack.profiles=analytics - traefik.enable=true - traefik.http.routers.prometheus.entryPoints=web - - traefik.http.routers.prometheus.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.prometheus.middlewares=redirectscheme - traefik.http.routers.prometheus.rule=Host(`prometheus.${STACK_DOMAIN}`) - traefik.http.routers.prometheus-secure.entryPoints=web-secure - traefik.http.routers.prometheus-secure.rule=Host(`prometheus.${STACK_DOMAIN}`) diff --git a/src/development/reccoom/compose.yaml b/src/development/reccoom/compose.yaml index 1dadf299..677a2001 100644 --- a/src/development/reccoom/compose.yaml +++ b/src/development/reccoom/compose.yaml @@ -21,7 +21,7 @@ services: - dargstack.profiles=recommendation - traefik.enable=true # dargstack:dev-only - traefik.http.routers.reccoom.entryPoints=web - - traefik.http.routers.reccoom.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.reccoom.middlewares=redirectscheme - traefik.http.routers.reccoom.rule=Host(`reccoom.${STACK_DOMAIN}`) - traefik.http.routers.reccoom-secure.entryPoints=web-secure - traefik.http.routers.reccoom-secure.rule=Host(`reccoom.${STACK_DOMAIN}`) diff --git a/src/development/redpanda/compose.yaml b/src/development/redpanda/compose.yaml index 2583bdf5..b805a3bd 100644 --- a/src/development/redpanda/compose.yaml +++ b/src/development/redpanda/compose.yaml @@ -50,7 +50,7 @@ services: - dargstack.profiles=event-streaming - traefik.enable=true - traefik.http.routers.redpanda.entryPoints=web - - traefik.http.routers.redpanda.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.redpanda.middlewares=redirectscheme - traefik.http.routers.redpanda.rule=Host(`redpanda.${STACK_DOMAIN}`) - traefik.http.routers.redpanda-secure.entryPoints=web-secure - traefik.http.routers.redpanda-secure.rule=Host(`redpanda.${STACK_DOMAIN}`) diff --git a/src/development/traefik/compose.yaml b/src/development/traefik/compose.yaml index 93028fb4..6de0c85a 100644 --- a/src/development/traefik/compose.yaml +++ b/src/development/traefik/compose.yaml @@ -17,9 +17,9 @@ services: labels: - dargstack.profiles=default,analytics,event-streaming,recommendation,upload,zammad - traefik.enable=true - - traefik.http.middlewares.redirectscheme.redirectscheme.scheme=https # dargstack:dev-only + - traefik.http.middlewares.redirectscheme.redirectscheme.scheme=https - traefik.http.routers.traefik.entryPoints=web - - traefik.http.routers.traefik.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.traefik.middlewares=redirectscheme - traefik.http.routers.traefik.rule=Host(`traefik.${STACK_DOMAIN}`) - traefik.http.routers.traefik.service=api@internal - traefik.http.routers.traefik-secure.entryPoints=web-secure diff --git a/src/development/zammad/compose.yaml b/src/development/zammad/compose.yaml index 5064fb73..658da39c 100644 --- a/src/development/zammad/compose.yaml +++ b/src/development/zammad/compose.yaml @@ -57,7 +57,7 @@ services: - dargstack.profiles=zammad - traefik.enable=true - traefik.http.routers.zammad.entryPoints=web - - traefik.http.routers.zammad.middlewares=redirectscheme # dargstack:dev-only + - traefik.http.routers.zammad.middlewares=redirectscheme - traefik.http.routers.zammad.rule=Host(`zammad.${STACK_DOMAIN}`) - traefik.http.routers.zammad-secure.entryPoints=web-secure - traefik.http.routers.zammad-secure.rule=Host(`zammad.${STACK_DOMAIN}`) diff --git a/src/production/tusd/compose.yaml b/src/production/tusd/compose.yaml index 5e9d3d2a..63c52cbc 100644 --- a/src/production/tusd/compose.yaml +++ b/src/production/tusd/compose.yaml @@ -3,7 +3,7 @@ services: deploy: labels: - (( append )) - - traefik.http.routers.tusd.middlewares=tusd-cors + - traefik.http.routers.tusd.middlewares=tusd-cors,redirectscheme - traefik.http.routers.tusd-secure.tls.certresolver=default update_config: order: start-first diff --git a/src/production/vibetype/compose.yaml b/src/production/vibetype/compose.yaml index db615959..b35563cb 100644 --- a/src/production/vibetype/compose.yaml +++ b/src/production/vibetype/compose.yaml @@ -3,7 +3,7 @@ services: deploy: labels: - (( append )) - - traefik.http.routers.vibetype.middlewares=vibetype_cors,vibetype-redirectregex + - traefik.http.routers.vibetype.middlewares=vibetype_cors,vibetype-redirectregex,redirectscheme - traefik.http.routers.vibetype-secure.tls.certresolver=default update_config: order: start-first From bc743ae07ce9bf264b9733347fea8252bafad7fb Mon Sep 17 00:00:00 2001 From: Jonas Thelemann Date: Tue, 27 Oct 2026 12:49:54 +0100 Subject: [PATCH 2/2] chore(traefik): order the middlewares alphabetically --- src/production/tusd/compose.yaml | 2 +- src/production/vibetype/compose.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/production/tusd/compose.yaml b/src/production/tusd/compose.yaml index 63c52cbc..f4962320 100644 --- a/src/production/tusd/compose.yaml +++ b/src/production/tusd/compose.yaml @@ -3,7 +3,7 @@ services: deploy: labels: - (( append )) - - traefik.http.routers.tusd.middlewares=tusd-cors,redirectscheme + - traefik.http.routers.tusd.middlewares=redirectscheme,tusd-cors - traefik.http.routers.tusd-secure.tls.certresolver=default update_config: order: start-first diff --git a/src/production/vibetype/compose.yaml b/src/production/vibetype/compose.yaml index b35563cb..df1a92dd 100644 --- a/src/production/vibetype/compose.yaml +++ b/src/production/vibetype/compose.yaml @@ -3,7 +3,7 @@ services: deploy: labels: - (( append )) - - traefik.http.routers.vibetype.middlewares=vibetype_cors,vibetype-redirectregex,redirectscheme + - traefik.http.routers.vibetype.middlewares=redirectscheme,vibetype_cors,vibetype-redirectregex - traefik.http.routers.vibetype-secure.tls.certresolver=default update_config: order: start-first