Hey Paul,
if you’re using an actual Version of Caddy Server 2.x, the websockets will be handled automatically. There should be no need of an extra @ws section.
We are running caddy as reverse proxy in an “undockered” environment, but the config file should look quite straight forward:
zammad.example.com {
reverse_proxy localhost:3000
}
No more magic needed.