{
    email admin@edudeploy.com
    on_demand_tls {
        ask http://server:3000/api/check-domain
    }
}

:80 {
    route /studioE5-agent* {
        file_server {
            root /usr/share/caddy/agent
        }
    }
    route /api/websocket* {
        reverse_proxy server:3001
    }
    route /api/check-domain* {
        reverse_proxy server:3000
    }
    route * {
        redir https://{host}{uri} permanent
    }
}

headscale.studioe5.edudeploy.com:443 {
    reverse_proxy headscale:8080
}

studioe5.edudeploy.com:443 {
    reverse_proxy /api/websocket* server:3001
    reverse_proxy server:3000
}

:443 {
    tls {
        on_demand
    }
    @instance {
        not host studioe5.edudeploy.com
        not host headscale.studioe5.edudeploy.com
        host *.studioe5.edudeploy.com
    }
    handle @instance {
        reverse_proxy resolver:2020 {
            header_up Host {host}
        }
    }
    reverse_proxy /api/websocket* server:3001
    reverse_proxy server:3000
}
