---
- name: Ensure {{ role_name }} data dir exists
ansible.builtin.file:
path: "{{ collabora_code_data_dir }}"
state: directory
- name: Start {{ role_name }} container {{ collabora_code_hostname }}
community.docker.docker_container:
name: "{{ collabora_code_hostname }}"
labels:
description: "{{ collabora_code_description }}"
image: "{{ collabora_code_image }}"
restart_policy: unless-stopped
env:
username: "{{ collabora_code_username }}"
password: "{{ collabora_code_password }}"
server_name: "{{ collabora_code_server_name}}"
aliasgroup1: "{{ collabora_code_aliasgroup1 }}"
aliasgroup2: "{{ collabora_code_aliasgroup2 }}"
extra_params: --o:ssl.enable={{ collabora_code_ssl_enabled }}
ports:
- "{{ collabora_code_port }}:9980"
networks:
- name: "{{ docker_network_name }}"
log_driver: "{{ docker_log_driver }}"
log_options:
max-size: "{{ docker_log_max_size }}"
max-file: "{{ docker_log_max_file }}"
tag: "{{ collabora_code_hostname }}|{{ role_name }}"
# FIXME: It was not possible to mount /etc/coolwsd/coolwsd.xml from the container to the host
- name: Copy coolwsd config file from container to data dir
ansible.builtin.command: docker cp {{ collabora_code_hostname }}:/etc/coolwsd/coolwsd.xml {{ collabora_code_data_dir }}
- name: Update {{ role_name }} coolwsd config
ansible.builtin.replace:
path: "{{ collabora_code_data_dir }}/coolwsd.xml"
regexp: '\s*(.*?)\s*'
replace: '\n {{ collabora_code_remote_font_config_url
}}\n '
when: collabora_code_remote_font_config_url is defined
- name: Copy coolwsd config file from data dir to container
ansible.builtin.command: docker cp {{ collabora_code_data_dir }}/coolwsd.xml {{ collabora_code_hostname }}:/etc/coolwsd/coolwsd.xml
- name: Fix file permission after copy back
ansible.builtin.command: docker exec -u root {{ collabora_code_hostname }} chown cool:cool /etc/coolwsd/coolwsd.xml
notify: Restart {{ role_name }} container