“Permission denied” means that your user doesn’t have the requisite permissions to bind to low ports (numbers under 1024).
Instead of running Caddy directly with the caddy run
command, it’s better to install Caddy to be run as a systemd service. Please see our docs: