{ 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 } gitea.alfrednobel.edudeploy.com { tls admin@edudeploy.com reverse_proxy 151.80.60.98:3001 } studioe5.edudeploy.com:443 { route /studioE5-agent* { file_server { root /usr/share/caddy/agent } } reverse_proxy /api/websocket* server:3001 reverse_proxy server:3000 } :443 { tls { on_demand } route /studioE5-agent* { file_server { root /usr/share/caddy/agent } } @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 }