d605b219a2
We do this for 2 reasons: - so we can control things which are not controllable using environment variables (for example `stunServers` in jitsi/web, since we don't wish to use the hardcoded Google STUN servers if our own Coturn is enabled) - so playbook variable changes will properly rebuild the configuration. When using Jitsi environment variables, the configuration is only built once (the first time) and never rebuilt again. This is not the consistent with the rest of the playbook and with how Ansible operates. We're not perfect at it (yet), because we still let the Jitsi containers generate some files on their own, but we are closer and it should be good enough for most things. Related to #415 (Github Pull Request).
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_username }}"
|
|
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:
|
|
- 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: "/etc/systemd/system/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: "/etc/systemd/system/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: "/etc/systemd/system/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"
|