This is just a note for anyone getting confused about the role of Caddy in the compose.yml (like myself):
it seems Caddy is purely there for reverse proxy.
So if you already have Traefik configured as reverse proxy, just go ahead and discard the Caddy service, Ghost will work just fine with Traefik.