ansible-role-jitsi-docker/tasks/main.yml

125 lines
3.4 KiB
YAML

---
# tasks file for jitsi
- name: Ensure jitsi Docker Compose config directory exists
file:
path: "{{ jitsi_install_path }}/jitsi"
state: directory
owner: '{{ jitsi_install_user }}'
group: '{{ jitsi_install_user }}'
tags: config
- name: "Teardown: Remove Jitsi runtime config"
file:
path: "{{ jitsi_install_path }}/jitsi/conf"
state: absent
tags: ['never', 'teardown']
- name: Ensure jitsi config directory exists
file:
path: "{{ jitsi_install_path }}/jitsi/conf"
state: directory
owner: '{{ jitsi_install_user }}'
group: '{{ jitsi_install_user }}'
tags: config
- name: "Git: Pull latest upstream docker-jitsi-meet sources (master)"
git:
repo: "{{ jitsi_docker_upstream_repo_url }}"
dest: "{{ jitsi_install_path }}/jitsi/docker-jitsi-meet-src"
version: master
register: git_pull_jitsi_docker_upstream_repo
when: jitsi_build_latest_image_from_source == True
- name: "Build Jitsi Docker images"
shell:
chdir: "{{ jitsi_install_path }}/jitsi/docker-jitsi-meet-src"
cmd: make
when: git_pull_jitsi_docker_upstream_repo.changed
- name: Provide docker-compose.yml
template:
src: templates/docker-compose.jitsi.yml.j2
dest: "{{ jitsi_install_path }}/jitsi/docker-compose.yml"
owner: "{{ jitsi_install_user }}"
group: "{{ jitsi_install_user }}"
mode: '0644'
tags: config
- name: Output docker-compose.yml
shell: cat {{ jitsi_install_path }}/jitsi/docker-compose.yml
register: output
tags: config
- debug:
var: output
- name: Provide Jitsi env vars
template:
src: templates/env.jitsi.j2
dest: "{{ jitsi_install_path }}/jitsi/.env"
owner: "{{ jitsi_install_user }}"
group: "{{ jitsi_install_user }}"
mode: '0640'
tags: config
- name: Provide metric exporter environment
template:
src: templates/exporter.env.j2
dest: "{{ jitsi_install_path }}/jitsi/exporter.env"
owner: "{{ jitsi_install_user }}"
group: "{{ jitsi_install_user }}"
mode: '0640'
tags: config
when: jitsi_expose_metrics
- name: "docker-compose: Teardown existing Jitsi service"
docker_compose:
project_src: "{{ jitsi_install_path }}/jitsi/"
state: absent
tags: ['never', 'teardown']
- name: "docker-compose: Bootstrap Jitsi service"
docker_compose:
project_src: "{{ jitsi_install_path }}/jitsi/"
pull: yes
register: output
- debug:
var: output
- assert:
that:
- "output.ansible_facts['web']['jitsi{{ jitsi_multitenant_postfix }}_web_1'].state.running"
- name: "Test whether Jitsi is healthy from the outside"
when: not ansible_check_mode
become: false
uri:
url: https://{{ jitsi_virtual_host }}
return_content: yes
timeout: 300
validate_certs: no
register: url_check
delegate_to: localhost
until: "'<title>Jitsi Meet' in url_check.content"
retries: 5
delay: 10
tags: health
- name: "Config: Set channelLastN"
lineinfile:
path: "{{ jitsi_install_path }}/jitsi/conf/web/config.js"
regexp: '(\s*)channelLastN:\s*[^,]+,'
line: '\1channelLastN: {{jitsi_web_channel_last_n|default("-1")}},'
backrefs: yes
tags: config
- name: "Config: Disable third party requests"
lineinfile:
path: "{{ jitsi_install_path }}/jitsi/conf/web/config.js"
regexp: '(\s*)(//\s*)?disableThirdPartyRequests:\s*false,'
line: '\1disableThirdPartyRequests: true,'
backrefs: yes
when: jitsi_enable_third_party_requests == False
tags: config