mirror of
https://github.com/spantaleev/matrix-docker-ansible-deploy.git
synced 2024-11-06 10:47:32 +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.
97 lines
3.2 KiB
YAML
97 lines
3.2 KiB
YAML
---
|
|
|
|
#
|
|
# Tasks related to setting up jitsi-jvb
|
|
#
|
|
|
|
- name: Ensure Matrix jitsi-jvb path exists
|
|
file:
|
|
path: "{{ item.path }}"
|
|
state: directory
|
|
mode: 0777
|
|
owner: "{{ matrix_user_username }}"
|
|
group: "{{ matrix_user_groupname }}"
|
|
with_items:
|
|
- { path: "{{ matrix_jitsi_jvb_base_path }}", when: true }
|
|
- { path: "{{ matrix_jitsi_jvb_config_path }}", when: true }
|
|
when: matrix_jitsi_enabled|bool and item.when
|
|
|
|
- name: Ensure jitsi-jvb Docker image is pulled
|
|
docker_image:
|
|
name: "{{ matrix_jitsi_jvb_docker_image }}"
|
|
source: "{{ 'pull' if ansible_version.major > 2 or ansible_version.minor > 7 else omit }}"
|
|
force_source: "{{ matrix_jitsi_jvb_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_jvb_docker_image_force_pull }}"
|
|
when: matrix_jitsi_enabled|bool
|
|
|
|
- name: Ensure jitsi-jvb configuration files created
|
|
template:
|
|
src: "{{ role_path }}/templates/jvb/{{ item }}.j2"
|
|
dest: "{{ matrix_jitsi_jvb_config_path }}/{{ item }}"
|
|
mode: 0644
|
|
with_items:
|
|
- custom-sip-communicator.properties
|
|
- logging.properties
|
|
when: matrix_jitsi_enabled|bool
|
|
|
|
- name: Ensure jitsi-jvb environment variables file created
|
|
template:
|
|
src: "{{ role_path }}/templates/jvb/env.j2"
|
|
dest: "{{ matrix_jitsi_jvb_base_path }}/env"
|
|
mode: 0640
|
|
when: matrix_jitsi_enabled|bool
|
|
|
|
- name: Ensure matrix-jitsi-jvb.service installed
|
|
template:
|
|
src: "{{ role_path }}/templates/jvb/matrix-jitsi-jvb.service.j2"
|
|
dest: "{{ matrix_systemd_path }}/matrix-jitsi-jvb.service"
|
|
mode: 0644
|
|
register: matrix_jitsi_jvb_systemd_service_result
|
|
when: matrix_jitsi_enabled|bool
|
|
|
|
- name: Ensure systemd reloaded after matrix-jitsi-jvb.service installation
|
|
service:
|
|
daemon_reload: yes
|
|
when: "matrix_jitsi_enabled and matrix_jitsi_jvb_systemd_service_result.changed"
|
|
|
|
#
|
|
# Tasks related to getting rid of jitsi-jvb (if it was previously enabled)
|
|
#
|
|
|
|
- name: Check existence of matrix-jitsi-jvb service
|
|
stat:
|
|
path: "{{ matrix_systemd_path }}/matrix-jitsi-jvb.service"
|
|
register: matrix_jitsi_jvb_service_stat
|
|
when: "not matrix_jitsi_enabled|bool"
|
|
|
|
- name: Ensure matrix-jitsi-jvb is stopped
|
|
service:
|
|
name: matrix-jitsi-jvb
|
|
state: stopped
|
|
daemon_reload: yes
|
|
register: stopping_result
|
|
when: "not matrix_jitsi_enabled|bool and matrix_jitsi_jvb_service_stat.stat.exists"
|
|
|
|
- name: Ensure matrix-jitsi-jvb.service doesn't exist
|
|
file:
|
|
path: "{{ matrix_systemd_path }}/matrix-jitsi-jvb.service"
|
|
state: absent
|
|
when: "not matrix_jitsi_enabled|bool and matrix_jitsi_jvb_service_stat.stat.exists"
|
|
|
|
- name: Ensure systemd reloaded after matrix-jitsi-jvb.service removal
|
|
service:
|
|
daemon_reload: yes
|
|
when: "not matrix_jitsi_enabled|bool and matrix_jitsi_jvb_service_stat.stat.exists"
|
|
|
|
- name: Ensure Matrix jitsi-jvb paths doesn't exist
|
|
file:
|
|
path: "{{ matrix_jitsi_jvb_base_path }}"
|
|
state: absent
|
|
when: "not matrix_jitsi_enabled|bool"
|
|
|
|
- name: Ensure jitsi-jvb Docker image doesn't exist
|
|
docker_image:
|
|
name: "{{ matrix_jitsi_jvb_docker_image }}"
|
|
state: absent
|
|
when: "not matrix_jitsi_enabled|bool"
|