--- # install caddy as a docker stack - name: Ensure Caddyfile directory exists ansible.builtin.file: path: "{{ caddy_caddyfile_dir }}" state: directory mode: '0755' become: true - name: Ensure Caddyfile exists ansible.builtin.template: src: Caddyfile.j2 dest: "{{ caddy_caddyfile_dir }}/Caddyfile" validate: "docker run --rm -v %s:/Caddyfile caddy caddy validate --config /Caddyfile" become: true - name: Deploy caddy to swarm community.general.docker_stack: name: "{{ item.name }}" state: present prune: yes compose: - "{{ item.compose }}" with_items: "{{ caddy_stack }}" when: caddy_stack is defined become: yes