config: update Caddyfile structure and add new documentation screenshots
All checks were successful
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 7m33s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m3s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 1m49s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m54s

- Simplified and refined the `Caddyfile` configuration for improved readability.
- Added screenshots to `docs/ScreenShots` documenting proxy settings and production logs.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
Stefan Mogeritsch 2026-03-13 12:29:49 +01:00
parent 0ce94203fe
commit 9c2d34cc82
5 changed files with 12 additions and 34 deletions

View File

@ -1,64 +1,42 @@
# Caddyfile
{ {
# Global options # Global options
auto_https off
servers { servers {
metrics metrics
} }
} }
# Define the site :4000 {
# Root directory
app.mo-code.at:4000, :4000 {
# Root directory for static files
root * /usr/share/caddy root * /usr/share/caddy
# Access Logs (JSON format for Docker) # Logging
log { log {
output stdout output stdout
format json format json
} }
# Enable Gzip/Zstd compression # Compression
encode gzip zstd encode gzip zstd
# Templates for runtime configuration (config.json) # Configuration Template
templates { templates {
mime application/json mime application/json
} }
# Cache Control for static assets (immutable) # Static Assets
@static { file_server
file
path *.js *.css *.png *.jpg *.svg *.wasm
}
header @static Cache-Control "public, max-age=31536000, immutable"
# Security Headers # API Proxy
header {
Cross-Origin-Opener-Policy "same-origin"
Cross-Origin-Embedder-Policy "require-corp"
X-Content-Type-Options "nosniff"
X-Frame-Options "DENY"
Referrer-Policy "strict-origin-when-cross-origin"
Permissions-Policy "camera=(), microphone=(), geolocation=()"
}
# --- ROUTING LOGIC ---
# 1. API Proxy
handle /api/* { handle /api/* {
reverse_proxy api-gateway:8081 reverse_proxy api-gateway:8081
} }
# 2. Health Check # Health
handle /health { handle /health {
respond "healthy" 200 respond "healthy" 200
} }
# 3. Static Files & SPA Fallback # SPA Routing (Last Resort)
handle {
try_files {path} /index.html try_files {path} /index.html
file_server
}
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB