olimp/roles/matrix/tasks/main.yml
2025-10-24 10:27:04 +00:00

56 lines
1.5 KiB
YAML

---
- name: Ensure Matrix directories exist
ansible.builtin.file:
path: "{{ item }}"
state: directory
owner: root
group: root
mode: '0755'
loop:
- "{{ matrix_base_dir }}"
- "{{ matrix_data_dir }}"
- "{{ matrix_config_dir }}"
- "{{ matrix_media_dir }}"
- "{{ matrix_postgres_dir }}"
- name: Copy log.config (static file)
ansible.builtin.copy:
src: log.config
dest: "{{ matrix_config_dir }}/log.config"
owner: root
group: root
mode: '0644'
- name: Deploy homeserver.yaml from template
ansible.builtin.template:
src: homeserver.yaml.j2
dest: "{{ matrix_config_dir }}/homeserver.yaml"
owner: root
group: root
mode: '0644'
- name: Deploy docker-compose.yml for Matrix
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{ matrix_base_dir }}/docker-compose.yml"
owner: root
group: root
mode: '0640'
- name: Start Matrix stack via docker compose
ansible.builtin.shell: |
docker compose -f "{{ matrix_base_dir }}/docker-compose.yml" up -d
args:
chdir: "{{ matrix_base_dir }}"
register: compose_result
changed_when: "'Recreating' in compose_result.stdout or 'Creating' in compose_result.stdout"
- name: Wait for Synapse to become healthy
ansible.builtin.uri:
url: "http://localhost:{{ matrix_port }}/health"
timeout: 5
register: health_check
until: health_check.status == 200
retries: 12
delay: 10
ignore_errors: yes