72 lines
2.5 KiB
YAML
72 lines
2.5 KiB
YAML
- name: "Create {{ synapse_project_dir }} project directory"
|
|
file:
|
|
path: "{{ synapse_project_dir }}"
|
|
state: directory
|
|
|
|
- name: Template docker-compose.yaml to project directory
|
|
template:
|
|
src: docker-compose.yaml
|
|
dest: "{{ synapse_project_dir }}/docker-compose.yaml"
|
|
owner: "{{ host_uid }}"
|
|
group: "{{ host_uid }}"
|
|
mode: '640'
|
|
|
|
- name: Template homeserver.yaml to project directory
|
|
template:
|
|
src: homeserver.yaml
|
|
dest: "{{ synapse_project_dir }}/homeserver.yaml"
|
|
owner: "{{ host_uid }}"
|
|
mode: '640'
|
|
# Store result to restart services if the file changed
|
|
register: synapse_template_homeserver_result
|
|
|
|
# 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: "{{ synapse_project_dir }}/homeserver.yaml"
|
|
group: "{{ users['synapse'] + uid_shift }}"
|
|
become: true
|
|
|
|
- name: "Create directory {{ volumes['synapse_datadir'] }} with correct permissions"
|
|
file:
|
|
path: "{{ volumes['synapse_datadir'] }}"
|
|
state: directory
|
|
owner: "{{ users['synapse'] + uid_shift }}"
|
|
group: "{{ users['synapse'] + uid_shift }}"
|
|
mode: '770'
|
|
become: true
|
|
|
|
- name: "Create directory {{ volumes['synapse_postgres_datadir'] }} with correct permissions"
|
|
file:
|
|
path: "{{ volumes['synapse_postgres_datadir'] }}"
|
|
state: directory
|
|
owner: "{{ users['synapse_postgres'] + uid_shift }}"
|
|
group: "{{ users['synapse_postgres'] + uid_shift }}"
|
|
mode: '770'
|
|
become: true
|
|
|
|
- name: Pull project services
|
|
community.docker.docker_compose:
|
|
project_src: "{{ synapse_project_dir }}"
|
|
recreate: never
|
|
pull: true
|
|
debug: true
|
|
when: docker_pull_images | bool
|
|
register: synapse_docker_compose_pull_result
|
|
|
|
- name: Display pulled image(s) name
|
|
set_fact:
|
|
synapse_pulled_images: "{{ synapse_pulled_images | default([]) + [item.pulled_image.name] }}"
|
|
loop: "{{ synapse_docker_compose_pull_result['actions'] | default([]) | selectattr('pulled_image', 'defined') }}"
|
|
|
|
- name: Include backup tasks
|
|
include_tasks:
|
|
file: backup.yml
|
|
# Make a backup if we didn't already make one and we pulled a new image
|
|
when: not run_backup and synapse_pulled_images is defined
|
|
|
|
- name: Create/Restart project services
|
|
community.docker.docker_compose:
|
|
project_src: "{{ synapse_project_dir }}"
|
|
# Restart if config file(s) changed
|
|
restarted: "{{ synapse_template_homeserver_result['changed'] | bool }}"
|