--- - name: "set local variables from overrides and defaults" set_fact: dns: "{{ (dns_defaults | combine(dns_override, recursive=True)) if dns_override else dns_defaults }}" - name: ensure that path exists file: path: "{{ path }}/config/dns" state: directory - name: template docker-compose template: src: compose.yml.j2 dest: "{{ path }}/compose.yml" - name: populate dmasq ansible.builtin.template: src: "dmasq.conf/{{ item.path }}" dest: "{{ path }}/config/etc-dnsmasq.d/{{ item.path | regex_replace('\\.j2$', '') }}" with_filetree: "{{ role_path }}/templates/dmasq.conf" when: - item.state == "file" notify: restart container - name: ensure container is running community.docker.docker_compose_v2: project_src: "{{ path }}" project_name: "{{ role_name }}" state: "present" pull: "always" wait: true services: ["pihole"] register: _compose_result