74 lines
1.9 KiB
YAML
74 lines
1.9 KiB
YAML
---
|
|
# 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"
|