# Caddy fragment for Premium Mechanic PWA on mechanic.pptaxi.ru.
# Apply on VDS 100.64.0.12 by copying/including into /etc/caddy/Caddyfile
# (or /etc/caddy/sites-enabled/ if the main Caddyfile uses imports).
#
# Assumes:
# - TaxiDashboard backend listens on 127.0.0.1:8000
# - Frontend PWA build is rsynced to /opt/sites/mechanic-pwa/dist/

mechanic.pptaxi.ru {
    encode gzip zstd

    # PWA: pass /api/* to the backend so the frontend can use relative URLs.
    handle /api/* {
        reverse_proxy 127.0.0.1:8000
    }

    # PWA static files with SPA fallback to index.html.
    handle {
        root * /opt/sites/mechanic-pwa/dist
        try_files {path} /index.html
        file_server
    }

    log {
        output file /var/log/caddy/mechanic.pptaxi.ru.log {
            roll_size 50mb
            roll_keep 5
        }
    }

    header {
        # Basic security headers for a PWA
        Referrer-Policy strict-origin-when-cross-origin
        X-Content-Type-Options nosniff
        X-Frame-Options DENY
        # Camera permission for our origin only
        Permissions-Policy "camera=(self), microphone=(self), geolocation=()"
    }
}
