--- # tasks file for Collabora Online - name: Ensure Collabora Online config directory exists file: path: /home/{{ docker_user }}/collabora-online state: directory owner: '{{ docker_user }}' group: '{{ docker_user }}' tags: config - name: Provide docker-compose.yml template: src: templates/docker-compose.collabora-online.yml.j2 dest: /home/{{ docker_user }}/collabora-online/docker-compose.yml owner: "{{ docker_user }}" group: "{{ docker_user }}" mode: '0644' tags: config - name: Output docker-compose.yml shell: cat /home/{{ docker_user }}/collabora-online/docker-compose.yml register: output tags: config - debug: var: output - name: Provide Collabora env vars template: src: templates/env.collabora-online.j2 dest: /home/{{ docker_user }}/collabora-online/.env owner: "{{ docker_user }}" group: "{{ docker_user }}" mode: '0640' tags: config - name: "docker-compose: Teardown existing Collabora service" docker_compose: project_src: "/home/{{ docker_user }}/collabora-online/" state: absent tags: ['never', 'teardown'] - name: "docker-compose: Bootstrap Collabora service" docker_compose: project_src: "/home/{{ docker_user }}/collabora-online/" register: output - debug: var: output - assert: that: - "output.ansible_facts['collabora']['collabora-online_collabora_1'].state.running" - name: "Wait for Collabora service (443/TLS) to become available from the public internet" become: false wait_for: host: "{{ collabora_virtual_host }}" port: 443 delegate_to: localhost - name: "Test whether Collabora is healthy from the public internet" become: false uri: url: https://{{ collabora_virtual_host }} return_content: yes timeout: 600 validate_certs: no register: url_check delegate_to: localhost - fail: msg: 'Collabora is not available!' when: "'OK' not in url_check.content"