:4000 {
    # Root directory for static files
    root * /usr/share/caddy

    # Enable Gzip/Zstd compression
    encode gzip zstd

    # Serve static files
    file_server

    # Templates for runtime configuration (config.json)
    templates {
        mime application/json
    }

    # SPA Routing: Fallback to index.html for non-existent files
    try_files {path} /index.html

    # Cache Control for static assets (immutable)
    @static {
        file
        path *.js *.css *.png *.jpg *.svg *.wasm
    }
    header @static Cache-Control "public, max-age=31536000, immutable"

    # Security Headers (Future Proofing for Wasm)
    header {
        # Cross-Origin Isolation for SharedArrayBuffer (required for some Wasm features)
        Cross-Origin-Opener-Policy "same-origin"
        Cross-Origin-Embedder-Policy "require-corp"

        # Standard Security Headers
        X-Content-Type-Options "nosniff"
        X-Frame-Options "DENY"
    }

    # Health Check
    handle /health {
        respond "healthy" 200
    }
}
