{
    email {$ACME_EMAIL}
}

{$LEXPRIVE_HOSTNAME} {
    encode zstd gzip

    header {
        Strict-Transport-Security "max-age=31536000; includeSubDomains"
        X-Content-Type-Options "nosniff"
        X-Frame-Options "DENY"
        Referrer-Policy "strict-origin-when-cross-origin"
        Permissions-Policy "camera=(), microphone=(), geolocation=()"
    }

    handle /api/* {
        uri strip_prefix /api
        reverse_proxy {$BACKEND_UPSTREAM}
    }

    handle /source/* {
        root * /srv/lexprive/source
        file_server browse
    }

    reverse_proxy {$FRONTEND_UPSTREAM}
}

{$SUPABASE_HOSTNAME} {
    encode zstd gzip

    handle /auth/v1/* {
        reverse_proxy {$SUPABASE_GATEWAY_UPSTREAM}
    }

    handle /rest/v1/* {
        reverse_proxy {$SUPABASE_GATEWAY_UPSTREAM}
    }

    respond 404
}
