--- - name: Ensure the service directory exists ansible.builtin.file: path: "{{ reverse_proxy__base_dir }}" state: directory mode: "0750" tags: [config] - name: Copy the Caddy image Dockerfile ansible.builtin.copy: src: Dockerfile dest: "{{ reverse_proxy__base_dir }}/Dockerfile" mode: "0644" register: _caddy_dockerfile tags: [config] - name: Render the Caddyfile ansible.builtin.template: src: Caddyfile.j2 dest: "{{ reverse_proxy__base_dir }}/Caddyfile" mode: "0644" tags: [config] - name: Render the env file (Gandi token) ansible.builtin.template: src: env.j2 dest: "{{ reverse_proxy__base_dir }}/.env" mode: "0600" tags: [config] - name: Render the compose file ansible.builtin.template: src: docker-compose.yml.j2 dest: "{{ reverse_proxy__base_dir }}/docker-compose.yml" mode: "0644" tags: [config] - name: Build the custom Caddy image (caddy-dns/gandi) on the host community.docker.docker_image: name: "{{ reverse_proxy__image }}" source: build build: path: "{{ reverse_proxy__base_dir }}" state: present force_source: "{{ _caddy_dockerfile.changed }}" when: reverse_proxy__manage | bool tags: [deploy] - name: Bring the reverse proxy up community.docker.docker_compose_v2: project_src: "{{ reverse_proxy__base_dir }}" state: present when: reverse_proxy__manage | bool tags: [deploy]