Depending on network-online.target is good enough. The user may or may not use systemd-networkd to manage network interfaces. Fixing https://gitlab.archlinux.org/archlinux/packaging/packages/caddy/-/issues/1
Caddy chokes if it dies or systemd timeout kills the process ungracefully as it can't deal with a left over unix file socket. Ensure the unit always deletes the socket as a post exit cleanup strategy.