mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2024-11-07 19:27:35 +01:00
fa76128fd8
This supersedes/fixes-up this Pull Request: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/719 The Jitsi Web and JVB containers now (in build 5142) always start by bulding their own default configuration (`config.js` and `sip-communicator.properties`, respectively). The fact that we were generating these files ourselves was no longer of use, because our configuration was thrown away in favor of the one created by the containers on startup. With this commit, we're completely redoing things. We no longer generate these configuration files. We try to pass the proper environment variables, so that Jitsi services can generate the configuration files themselves. Besides that, we try to use the "custom configuration" mechanism provided by Jitsi Web and Jitsi JVB (`custom-config.js` and `custom-sip-communicator.properties`, respectively), so that we and our users can inject additional configuration. Some configuration options we had are gone now. Others are no longer controllable via variables and need to be injected using the `_config_extension` variables that we provide. The validation logic that is part of the role should take care to inform people about how to upgrade (if they're using some custom configuration, which needs special care now). Most users should not have to do anything special though.
98 lines
3.2 KiB
YAML
98 lines
3.2 KiB
YAML
---
|
|
|
|
#
|
|
# Tasks related to setting up jitsi-web
|
|
#
|
|
|
|
- name: Ensure Matrix jitsi-web path exists
|
|
file:
|
|
path: "{{ item.path }}"
|
|
state: directory
|
|
mode: 0777
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_groupname }}"
|
|
with_items:
|
|
- { path: "{{ matrix_jitsi_web_base_path }}", when: true }
|
|
- { path: "{{ matrix_jitsi_web_config_path }}", when: true }
|
|
- { path: "{{ matrix_jitsi_web_transcripts_path }}", when: true }
|
|
when: matrix_jitsi_enabled|bool and item.when
|
|
|
|
- name: Ensure jitsi-web Docker image is pulled
|
|
docker_image:
|
|
name: "{{ matrix_jitsi_web_docker_image }}"
|
|
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
|
force_source: "{{ matrix_jitsi_web_docker_image_force_pull if ansible_version.major > 2 or ansible_version.minor >= 8 else omit }}"
|
|
force: "{{ omit if ansible_version.major > 2 or ansible_version.minor >= 8 else matrix_jitsi_web_docker_image_force_pull }}"
|
|
when: matrix_jitsi_enabled|bool
|
|
|
|
- name: Ensure jitsi-web environment variables file created
|
|
template:
|
|
src: "{{ role_path }}/templates/web/env.j2"
|
|
dest: "{{ matrix_jitsi_web_base_path }}/env"
|
|
mode: 0640
|
|
when: matrix_jitsi_enabled|bool
|
|
|
|
- name: Ensure jitsi-web configuration files created
|
|
template:
|
|
src: "{{ role_path }}/templates/web/{{ item }}.j2"
|
|
dest: "{{ matrix_jitsi_web_config_path }}/{{ item }}"
|
|
mode: 0644
|
|
with_items:
|
|
- custom-config.js
|
|
- interface_config.js
|
|
when: matrix_jitsi_enabled|bool
|
|
|
|
- name: Ensure matrix-jitsi-web.service installed
|
|
template:
|
|
src: "{{ role_path }}/templates/web/matrix-jitsi-web.service.j2"
|
|
dest: "{{ matrix_systemd_path }}/matrix-jitsi-web.service"
|
|
mode: 0644
|
|
register: matrix_jitsi_web_systemd_service_result
|
|
when: matrix_jitsi_enabled|bool
|
|
|
|
- name: Ensure systemd reloaded after matrix-jitsi-web.service installation
|
|
service:
|
|
daemon_reload: yes
|
|
when: "matrix_jitsi_enabled and matrix_jitsi_web_systemd_service_result.changed"
|
|
|
|
#
|
|
# Tasks related to getting rid of jitsi-web (if it was previously enabled)
|
|
#
|
|
|
|
- name: Check existence of matrix-jitsi-web service
|
|
stat:
|
|
path: "{{ matrix_systemd_path }}/matrix-jitsi-web.service"
|
|
register: matrix_jitsi_web_service_stat
|
|
when: "not matrix_jitsi_enabled|bool"
|
|
|
|
- name: Ensure matrix-jitsi-web is stopped
|
|
service:
|
|
name: matrix-jitsi-web
|
|
state: stopped
|
|
daemon_reload: yes
|
|
register: stopping_result
|
|
when: "not matrix_jitsi_enabled|bool and matrix_jitsi_web_service_stat.stat.exists"
|
|
|
|
- name: Ensure matrix-jitsi-web.service doesn't exist
|
|
file:
|
|
path: "{{ matrix_systemd_path }}/matrix-jitsi-web.service"
|
|
state: absent
|
|
when: "not matrix_jitsi_enabled|bool and matrix_jitsi_web_service_stat.stat.exists"
|
|
|
|
- name: Ensure systemd reloaded after matrix-jitsi-web.service removal
|
|
service:
|
|
daemon_reload: yes
|
|
when: "not matrix_jitsi_enabled|bool and matrix_jitsi_web_service_stat.stat.exists"
|
|
|
|
- name: Ensure Matrix jitsi-web paths doesn't exist
|
|
file:
|
|
path: "{{ matrix_jitsi_web_base_path }}"
|
|
state: absent
|
|
when: "not matrix_jitsi_enabled|bool"
|
|
|
|
- name: Ensure jitsi-web Docker image doesn't exist
|
|
docker_image:
|
|
name: "{{ matrix_jitsi_web_docker_image }}"
|
|
state: absent
|
|
when: "not matrix_jitsi_enabled|bool"
|