--- # A reload keeps existing connections. A restart would briefly drop every hosted site. # The config path is inside the container, not caddyfile_path on the host. - name: Reload Caddy configuration ansible.builtin.command: >- podman exec {{ caddy_name }} caddy reload --config /etc/caddy/Caddyfile changed_when: true listen: "Reload Caddy" # Quadlet has no live equivalent of network connect, so Caddy is recreated and every hosted site restarts. # Defined after the reload so the cheap reload runs first. - name: Restart Caddy ansible.builtin.systemd_service: name: "{{ caddy_name }}.service" scope: user state: restarted daemon_reload: true listen: Restart Caddy