Files
infrastructure/ansible/roles/synapse/tasks/main.yml

78 lines
2.1 KiB
YAML

- name: Create service user
user:
name: "{{ role_name }}"
system: true
register: service_user
become: true
- name: Create install directory
file:
path: "{{ install_directory }}/{{ role_name }}"
state: directory
owner: "{{ docker_user }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Copy docker-compose file to destination
template:
src: docker-compose.yml
dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml"
owner: "{{ docker_user }}"
mode: "{{ docker_compose_file_mask }}"
validate: docker compose -f %s config
become: true
- name: Copy homeserver.yaml to destination
template:
src: homeserver.yaml
dest: "{{ install_directory }}/synapse/homeserver.yaml"
owner: "{{ service_user.uid }}"
mode: "{{ docker_compose_file_mask }}"
notify: restart synapse
become: true
- name: Create config directory and set synapse user to owner
file:
path: "{{ data_dir }}/synapse"
state: directory
owner: "{{ service_user.uid }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Create nginx config directory
file:
path: "{{ data_dir }}/nginx/synapse/www/.well-known/matrix/"
state: directory
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Install nginx config file
template:
src: nginx/matrix.conf
dest: "{{ data_dir }}/nginx/synapse/matrix.conf"
owner: "{{ docker_user }}"
mode: "{{ docker_compose_file_mask }}"
become: true
- name: Install well known client file
template:
src: nginx/client.json
dest: "{{ data_dir }}/nginx/synapse/www/.well-known/matrix/client"
owner: "{{ docker_user }}"
mode: "{{ docker_compose_file_mask }}"
become: true
- name: Install well known server file
template:
src: nginx/server.json
dest: "{{ data_dir }}/nginx/synapse/www/.well-known/matrix/server"
owner: "{{ docker_user }}"
mode: "{{ docker_compose_file_mask }}"
become: true
- name: Start docker container
community.docker.docker_compose_v2:
project_src: "{{ install_directory }}/{{ role_name }}"
pull: always
remove_orphans: yes