--- - 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