Snap-installed Caddy on Ubuntu cannot read config files from user home directories due to AppArmor confinement, even when run with sudo
Install Caddy from the official apt repository (https://caddyserver.com/docs/install#debian-ubuntu-raspbian) instead of snap. The snap version has AppArmor confinement that blocks reading files outside its sandbox. Alternatively, run sudo snap connect caddy:home to grant home directory access.