- name: Deploy Caddy service block: - name: Set Caddy directories ansible.builtin.set_fact: caddy_service_dir: "{{ ansible_env.HOME }}/services/caddy" caddy_data_dir: "/mnt/services/caddy" caddy_email: "{{ lookup('community.general.onepassword', 'qwvcr4cuumhqh3mschv57xdqka', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='email') }}" - name: Create Caddy directory ansible.builtin.file: path: "{{ caddy_service_dir }}" state: directory mode: "0755" - name: Create Caddy network ansible.builtin.command: docker network create caddy_default register: create_caddy_network failed_when: - create_caddy_network.rc != 0 - "'already exists' not in create_caddy_network.stderr" changed_when: create_caddy_network.rc == 0 - name: Deploy Caddy docker-compose.yml ansible.builtin.template: src: docker-compose.yml.j2 dest: "{{ caddy_service_dir }}/docker-compose.yml" mode: "0644" register: caddy_compose - name: Deploy Caddy Caddyfile ansible.builtin.template: src: Caddyfile.j2 dest: "{{ caddy_service_dir }}/Caddyfile" mode: "0644" register: caddy_file - name: Stop Caddy service ansible.builtin.command: docker compose -f "{{ caddy_service_dir }}/docker-compose.yml" down --remove-orphans when: caddy_compose.changed or caddy_file.changed - name: Start Caddy service ansible.builtin.command: docker compose -f "{{ caddy_service_dir }}/docker-compose.yml" up -d when: caddy_compose.changed or caddy_file.changed