Hi! Late reply, but I can add some context to this issue. Looks like the caddy binary was replaced by John. The output of caddy version should be “unknown”, because Caddy distributed by Alpine is currently built without using ldflags. So the problem is indeed missing cap_net_bind_service capability as Eric noticed.
If you want to use your own build of Caddy and start it using OpenRC, one way is to install only caddy-openrc. This way caddy aport won’t override your binary.
Also, with the release of Alpine 3.19 setcap won’t be needed anymore, because capabilities are now defined in the service script (relevant change: community/caddy: use openrc cap instead of setcap (fee6d1a9) · Commits · alpine / aports · GitLab).