--- - name: Test headers hosts: servers gather_facts: false tasks: - name: Create dir ansible.builtin.file: path: "{{ dir }}" state: directory mode: "0775" - name: Write files ansible.builtin.copy: src: "{{ item }}" dest: "{{ dir }}/" mode: preserve with_fileglob: - files/{{ app_name }}/* - files/{{ app_name }}/.* notify: - Restart service - name: Write templates ansible.builtin.template: src: "{{ item }}" dest: "{{ dir }}/{{ item | basename | regex_replace('\\.j2$', '') }}" mode: preserve with_fileglob: - templates/{{ app_name }}/*.j2 - templates/{{ app_name }}/.*.j2 notify: - Restart service - name: Ensure service is started community.docker.docker_compose_v2: project_src: "{{ dir }}" state: present handlers: - name: Restart service community.docker.docker_compose_v2: project_src: "{{ dir }}" state: restarted vars: app_name: test_headers dir: /mnt/data/{{ app_name }}