fix: add traefik.docker.network label to provisioned containers
All checks were successful
CI / build (push) Successful in 53s
CI / docker (push) Successful in 34s

Traefik's Docker provider resolves container IPs using the configured
default network ('cameleer'). For dynamically-created containers not
managed by compose, this network name doesn't match. Adding the
traefik.docker.network label explicitly tells Traefik to use the
cameleer-traefik network for routing, fixing 504 Gateway Timeouts
on /t/{slug}/api/* paths.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-10 09:40:59 +02:00
parent b4f9277220
commit d911fd2201

View File

@@ -131,6 +131,7 @@ public class DockerTenantProvisioner implements TenantProvisioner {
labels.put("traefik.http.middlewares.server-strip-" + slug + ".stripprefix.prefixes", prefix);
labels.put("traefik.http.routers.server-" + slug + ".middlewares", "server-strip-" + slug);
labels.put("traefik.http.services.server-" + slug + ".loadbalancer.server.port", "8081");
labels.put("traefik.docker.network", props.traefikNetwork());
labels.put("cameleer.tenant", slug);
labels.put("cameleer.role", "server");
@@ -206,6 +207,7 @@ public class DockerTenantProvisioner implements TenantProvisioner {
labels.put("traefik.http.middlewares.ui-strip-" + slug + ".stripprefix.prefixes", prefix);
labels.put("traefik.http.routers.ui-" + slug + ".middlewares", "ui-strip-" + slug);
labels.put("traefik.http.services.ui-" + slug + ".loadbalancer.server.port", "80");
labels.put("traefik.docker.network", props.traefikNetwork());
labels.put("cameleer.tenant", slug);
labels.put("cameleer.role", "server-ui");