- name: "(Re)Create {{ project_dir }} project directory" file: path: "{{ project_dir }}" state: "{{ item }}" loop: - absent - directory - name: Template docker-compose.yaml & homeserver.yaml to project directory template: src: "{{ item }}" dest: "{{ project_dir }}/{{ item }}" owner: "{{ host_uid }}" group: "{{ host_uid }}" mode: '640' loop: - docker-compose.yaml - homeserver.yaml # Separate task because template module cannot chown/chgrp to a non-existing user/group - name: "Change group of homeserver.yaml to synapse GID ({{ users['synapse'] + uid_shift }})" file: path: "{{ project_dir }}/homeserver.yaml" group: "{{ users['synapse'] + uid_shift }}" become: true - name: "Create (if not exists) directory {{ volumes['synapse_datadir'] }} & set permissions" file: path: "{{ volumes['synapse_datadir'] }}" state: directory owner: "{{ users['synapse'] + uid_shift }}" group: "{{ users['synapse'] + uid_shift }}" mode: '770' become: true