Skip to content

Reference: Calendars Caddyfile

{
    auto_https off
    admin off
}

:8080 {
    root * /srv
    header X-Frame-Options DENY

    route {
        # API reverse proxy to backend
        reverse_proxy /api/v1.0/* 172.29.0.30:8000 {
            header_up Host {host}
            header_up X-Forwarded-Proto https
        }

        # CalDAV proxy through Django (adds X-LS-User + API key)
        reverse_proxy /caldav/* 172.29.0.30:8000 {
            header_up Host {host}
            header_up X-Forwarded-Proto https
        }

        # RSVP endpoint (handles accept/maybe/decline links)
        reverse_proxy /rsvp/* 172.29.0.30:8000 {
            header_up Host {host}
            header_up X-Forwarded-Proto https
        }

        try_files {path} {path}.html /index.html
        file_server
    }

    handle_errors {
        rewrite * /404.html
        file_server
    }
}