Simplify Caddyfile configuration and switch string interpolation to template literals in frontend.
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m31s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 8m8s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m58s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m43s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m31s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 8m8s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m58s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m43s
This commit is contained in:
@@ -1,49 +1,35 @@
|
||||
{
|
||||
# TLS wird durch Pangolin/Traefik auf dem VPS terminiert – hier kein HTTPS nötig
|
||||
auto_https off
|
||||
|
||||
servers {
|
||||
metrics
|
||||
}
|
||||
metrics
|
||||
}
|
||||
}
|
||||
|
||||
:4000 {
|
||||
# Root-Verzeichnis für statische Assets
|
||||
root * /usr/share/caddy
|
||||
|
||||
# Logging (strukturiert, JSON)
|
||||
log {
|
||||
output stdout
|
||||
format json
|
||||
}
|
||||
output stdout
|
||||
format json
|
||||
}
|
||||
|
||||
# Sicherheits-Header für SharedArrayBuffer (benötigt für SQLite WASM)
|
||||
header {
|
||||
# Erlaubt das Laden von Cross-Origin-Ressourcen, aber nur wenn diese es explizit erlauben
|
||||
Cross-Origin-Embedder-Policy "require-corp"
|
||||
# Isoliert den Kontext, um Sicherheitsrisiken zu minimieren
|
||||
Cross-Origin-Opener-Policy "same-origin"
|
||||
}
|
||||
|
||||
# Komprimierung
|
||||
encode gzip zstd
|
||||
|
||||
# Caddy-Template-Engine: ersetzt {{.Env.VAR}} in index.html UND config.json
|
||||
templates
|
||||
file_server
|
||||
|
||||
# API-Proxy (höchste Priorität – vor dem SPA-Fallback)
|
||||
handle /api/* {
|
||||
reverse_proxy api-gateway:8081
|
||||
}
|
||||
reverse_proxy api-gateway:8081
|
||||
}
|
||||
|
||||
# Health-Check-Endpunkt (für Pangolin Health-Check konfigurieren: GET /health)
|
||||
handle /health {
|
||||
respond "healthy" 200
|
||||
}
|
||||
respond "healthy" 200
|
||||
}
|
||||
|
||||
# SPA-Fallback: existierende Dateien direkt ausliefern, sonst index.html
|
||||
handle {
|
||||
try_files {path} /index.html
|
||||
}
|
||||
try_files {path} /index.html
|
||||
file_server
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user