--- - name: Copy matrix docker files copy: src: matrix dest: "{{docker_compose_files_folder}}" - name: Create matrix-network docker network docker_network: name: matrix-network - name: Start matrix docker project docker_compose: project_src: "{{docker_compose_files_folder}}/matrix" state: present - name: Wait for database to start and count matrix users shell: docker-compose exec -T db psql -U synapse synapse -c "select count(*) from users;" -t args: chdir: "{{docker_compose_files_folder}}/matrix/" register: matrix_users_count until: matrix_users_count.rc == 0 retries: 10 changed_when: false - name: Restore Matrix database if needed command: docker-compose exec -T db sh -c "psql -U synapse synapse < /backups/database.dmp" args: chdir: "{{docker_compose_files_folder}}/matrix/" when: matrix_users_count.stdout|int == 0