Compare commits
2 commits
master
...
feature/mu
Author | SHA1 | Date | |
---|---|---|---|
40049b2e3e | |||
83cec2905c |
4 changed files with 34 additions and 25 deletions
17
README.md
17
README.md
|
@ -26,13 +26,16 @@ Requirements
|
|||
Role Variables
|
||||
--------------
|
||||
|
||||
| Variable | Description | Default |
|
||||
| --------------------------- | ------------------------------------------------------------------------------- | ------------------ |
|
||||
| docker_user | The user who is going to manage/run the Docker Compose services | deploy |
|
||||
| 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 | |
|
||||
| collabora_admin_password | | |
|
||||
| Variable | Description | Default |
|
||||
| --------------------------- | ------------------------------------------------------------------------------- | ------------------ |
|
||||
| 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_multitenant_label | A label (unique accross all instances on this host) identifying the tenant | |
|
||||
| collabora_virtual_host | The host under which CODE is available from the outside (e.g. collabora.example.org) | localhost |
|
||||
| collabora_exposed_port | The port under which the Collabora instance is available | 9980 |
|
||||
| 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 | |
|
||||
| collabora_admin_password | | |
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
---
|
||||
# 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_multitenant_label:
|
||||
collabora_exposed_port: 9980
|
||||
collabora_virtual_host: localhost
|
||||
collabora_public_url: http://{{ collabora_virtual_host }}
|
||||
collabora_domain_regex_pattern: localhost
|
||||
# Internal variables
|
||||
collabora_multitenant_postfix: "{{ '_' + collabora_multitenant_label if (collabora_multitenant_label) else '' }}"
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -3,6 +3,8 @@ version: '3'
|
|||
services:
|
||||
collabora:
|
||||
image: collabora/code
|
||||
container_name: collabora{{ collabora_multitenant_postfix }}
|
||||
hostname: collabora{{ collabora_multitenant_postfix }}
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- extra_params
|
||||
|
@ -16,11 +18,11 @@ services:
|
|||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=traefik_public"
|
||||
- "traefik.http.routers.collabora.rule=Host(`{{ collabora_virtual_host }}`)"
|
||||
- "traefik.port=9980"
|
||||
- "traefik.http.routers.collabora.entrypoints=websecure"
|
||||
- "traefik.http.routers.collabora.tls=true"
|
||||
- "traefik.http.routers.collabora.tls.certresolver=defaultresolver"
|
||||
- "traefik.http.routers.collabora{{ collabora_multitenant_postfix }}.rule=Host(`{{ collabora_virtual_host }}`)"
|
||||
- "traefik.port={{ collabora_exposed_port }}"
|
||||
- "traefik.http.routers.collabora{{ collabora_multitenant_postfix }}.entrypoints=websecure"
|
||||
- "traefik.http.routers.collabora{{ collabora_multitenant_postfix }}.tls=true"
|
||||
- "traefik.http.routers.collabora{{ collabora_multitenant_postfix }}.tls.certresolver=defaultresolver"
|
||||
networks:
|
||||
public:
|
||||
cap_add:
|
||||
|
|
Loading…
Add table
Reference in a new issue