--- - name: restorecon podman become: true ansible.builtin.command: | restorecon -Frv {{ podman_home }}/.local/share/volumes tags: - podman - selinux # nginx handler removed - nginx infrastructure decommissioned - name: restart firewalld become: true ansible.builtin.service: name: firewalld state: restarted tags: - firewall - name: restart caddy become: true become_user: "{{ podman_user }}" ansible.builtin.command: | podman restart caddy tags: - caddy # Reads /config/Caddyfile, NOT the /etc/caddy/Caddyfile the container starts # from, even though both are the same host file. /etc/caddy/Caddyfile is a # single-file bind mount, which podman binds by inode; the template module # writes a temp file and renames it into place, so every deploy gives the host # file a new inode and the container keeps seeing the one it was created with. # Reloading from that path silently re-applied the old config -- the change only # ever landed when something recreated the container. {{ caddy_path }}/config is # also bind-mounted as a *directory* at /config, and a directory mount resolves # names at open() time, so /config/Caddyfile is always the file Ansible just # wrote. - name: reload caddy become: true become_user: "{{ podman_user }}" ansible.builtin.command: | podman exec caddy caddy reload --config /config/Caddyfile --adapter caddyfile tags: - caddy - caddy-config - name: reload zomboid systemd become: true become_user: "{{ podman_user }}" ansible.builtin.systemd: daemon_reload: true scope: user tags: - zomboid - name: reload podman systemd become: true become_user: "{{ podman_user }}" ansible.builtin.systemd: daemon_reload: true scope: user tags: - podman