From 67e8916634e43831a963b70226be9b2b6668e518 Mon Sep 17 00:00:00 2001 From: Raffael Sheikh Date: Fri, 5 Jun 2026 19:02:27 +0200 Subject: [PATCH] =?UTF-8?q?fix(web):=20Caddyfile=20ins=20Image=20backen=20?= =?UTF-8?q?=E2=80=94=20SPA=20statt=20Caddy-Default-Seite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Das web-Runtime-Image (caddy:2-alpine) hatte keine eigene Config, daher lieferte Caddy seine Default-Welcome-Seite aus /usr/share/caddy statt der gebauten SPA aus /srv ("Caddy works!"). Eigene Caddyfile (root /srv, try_files SPA-Fallback) wird jetzt nach /etc/caddy/Caddyfile kopiert. Co-Authored-By: Claude Opus 4.8 (1M context) --- apps/web/Caddyfile | 10 ++++++++++ apps/web/Dockerfile | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 apps/web/Caddyfile diff --git a/apps/web/Caddyfile b/apps/web/Caddyfile new file mode 100644 index 0000000..a4b0689 --- /dev/null +++ b/apps/web/Caddyfile @@ -0,0 +1,10 @@ +# Caddy-Config für das statische Web-Image (cockpit-web). +# Liefert die gebaute SPA aus /srv mit SPA-Fallback auf index.html. +# /api und /trpc werden in Produktion bereits von Traefik (höhere Priorität) +# an cockpit-api geroutet und erreichen diesen Container nicht. +:80 { + root * /srv + encode zstd gzip + try_files {path} /index.html + file_server +} diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 21cf887..9fca5e3 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -19,6 +19,8 @@ COPY packages/shared ./packages/shared RUN pnpm --filter web build -# --- runtime (static via Caddy in production compose) --- +# --- runtime (static via Caddy) --- FROM caddy:2-alpine AS runtime +# Eigene Caddy-Config statt der Default-Welcome-Seite: SPA aus /srv ausliefern. +COPY apps/web/Caddyfile /etc/caddy/Caddyfile COPY --from=builder /repo/apps/web/dist /srv