{
	on_demand_tls {
        ask {$PRIVATE_BACKEND_URL:localhost:8000}/api/builder/domains/ask-public-domain-exists/
        interval 2m
        burst 5
    }

    {$BASEROW_CADDY_GLOBAL_CONF}
}

{$BASEROW_CADDY_ADDRESSES} {
    tls {
        on_demand
    }

    @is_baserow_tool {
        expression "{$BASEROW_PUBLIC_URL}".contains({http.request.host})
    }

    handle @is_baserow_tool {
        handle /api/* {
            reverse_proxy {$PRIVATE_BACKEND_URL:localhost:8000}
        }

        handle /ws/* {
            reverse_proxy {$PRIVATE_BACKEND_URL:localhost:8000}
        }

        handle_path /media/* {
            @downloads {
                query dl=*
            }
            header @downloads Content-disposition "attachment; filename={query.dl}"

            file_server {
                root {$MEDIA_ROOT:/baserow/media/}
            }
        }

        handle_path /static/* {
            file_server {
                root {$STATIC_ROOT:/baserow/static/}
            }
        }
    }

    reverse_proxy {$PRIVATE_WEB_FRONTEND_URL:localhost:3000}
}