Compare commits

...

2 commits

5 changed files with 25 additions and 21 deletions

View file

@ -28,7 +28,8 @@ Role Variables
| Variable | Description | Default |
| --------------------------- | ------------------------------------------------------------------------------- | ------------------ |
| docker_user | The user who is going to manage/run the Docker Compose services | deploy |
| collabora_install_user | The user who is going to manage/run the Docker Compose services | {{ ansible_user }} |
| collabora_install_path | The location where the service should be deployed | /home/{{ collabora_install_user }} |
| collabora_virtual_host | The host under which CODE is available from the outside (e.g. collabora.example.org) | localhost |
| collabora_domain_regex_pattern | A regular expression to match hosts that should be allowed to access CODE | localhost |
| collabora_admin_user | Used to access to the Admin UI: https://<code-server>/loleaflet/dist/admin/admin.html | |

View file

@ -1,6 +1,7 @@
---
# defaults file for Collabora Online
docker_user: deploy
collabora_install_user: '{{ ansible_user }}' # This user must be present on the host
collabora_install_path: '/home/{{ collabora_install_user }}'
collabora_exposed_port: 9980
collabora_virtual_host: localhost
collabora_public_url: http://{{ collabora_virtual_host }}

View file

@ -2,23 +2,23 @@
# tasks file for Collabora Online
- name: Ensure Collabora Online config directory exists
file:
path: /home/{{ docker_user }}/collabora-online
path: "{{ collabora_install_path }}/collabora-online"
state: directory
owner: '{{ docker_user }}'
group: '{{ docker_user }}'
owner: '{{ collabora_install_user }}'
group: '{{ collabora_install_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 }}"
dest: "{{ collabora_install_path }}/collabora-online/docker-compose.yml"
owner: "{{ collabora_install_user }}"
group: "{{ collabora_install_user }}"
mode: '0644'
tags: config
- name: Output docker-compose.yml
shell: cat /home/{{ docker_user }}/collabora-online/docker-compose.yml
shell: cat {{ collabora_install_path }}/collabora-online/docker-compose.yml
register: output
tags: config
@ -28,21 +28,21 @@
- 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 }}"
dest: "{{ collabora_install_path }}/collabora-online/.env"
owner: "{{ collabora_install_user }}"
group: "{{ collabora_install_user }}"
mode: '0640'
tags: config
- name: "docker-compose: Teardown existing Collabora service"
docker_compose:
project_src: "/home/{{ docker_user }}/collabora-online/"
project_src: "{{ collabora_install_path }}/collabora-online/"
state: absent
tags: ['never', 'teardown']
- name: "docker-compose: Bootstrap Collabora service"
docker_compose:
project_src: "/home/{{ docker_user }}/collabora-online/"
project_src: "{{ collabora_install_path }}/collabora-online/"
register: output
- debug:
@ -50,7 +50,7 @@
- assert:
that:
- "output.ansible_facts['collabora']['collabora-online_collabora_1'].state.running"
- output['services']['collabora']['collabora-online_collabora_1'].state.running
- name: "Test whether Collabora is healthy from the public internet"
become: false

View file

@ -7,6 +7,7 @@ services:
environment:
- extra_params
- domain
- aliasgroup1
{% if collabora_admin_user is defined and collabora_admin_password is defined %}
- username
- password

View file

@ -1,5 +1,6 @@
extra_params=--o:ssl.enable=false --o:ssl.termination=true
domain={{collabora_domain_regex_pattern|replace('\\', '\\\\')}}
aliasgroup1={{ collabora_virtual_host }}
{% if collabora_admin_user is defined and collabora_admin_password is defined %}
username={{ collabora_admin_user }}
password={{ collabora_admin_password }}