2024-07-22 23:00:11 +02:00

115 lines
3.3 KiB
YAML

---
- name: Install dependencies
package:
name:
- java-17-openjdk
- git
- ffmpeg
- curl
- alsa-utils
- xdotool
#- xorg-x11-drv-void
- xorg-x11-drv-dummy
- perl-YAML-Tiny
- perl-Email-MIME
- perl-Email-Sender
tags: jitsi
- name: Install latest Google Chrome
package:
name:
- google-chrome-stable
state: latest
tags: jitsi
- name: Get Chrome version
command: rpm -q google-chrome-stable --qf %{VERSION}
register: jitsi_jibri_chrome_version
changed_when: false
tags: jitsi
# Ensure we're using the ChromeDriver corresponding to our current Chrome version
- when: not jitsi_jibri_chromedriver_bin.stat.exists or jitsi_jibri_chromedriver_current_version.stdout != jitsi_jibri_chrome_version.stdout
block:
- name: Download ChromeDriver
get_url:
url: https://storage.googleapis.com/chrome-for-testing-public/{{ jitsi_jibri_chrome_version.stdout }}/linux64/chromedriver-linux64.zip
dest: "{{ jitsi_root_dir }}/tmp"
- name: Extract ChromeDriver
unarchive:
src: "{{ jitsi_root_dir }}/tmp/chromedriver-linux64.zip"
dest: "{{ jitsi_root_dir }}/tmp"
remote_src: true
- name: Move ChromeDriver bin
copy:
src: "{{ jitsi_root_dir }}/tmp/chromedriver-linux64/chromedriver"
dest: /usr/local/bin/chromedriver
mode: 755
remote_src: true
tags: jitsi
- when: jitsi_jibri_install_mode != 'none'
block:
- name: Download Jitsi Jibri archive
get_url:
url: "{{ jitsi_jibri_archive_url }}"
dest: "{{ jitsi_root_dir }}/tmp/"
become_user: "{{ jitsi_user }}"
- name: Extract Jitsi Jibri archive
unarchive:
src: "{{ jitsi_root_dir }}/tmp/jibri-master.tar.gz"
dest: "{{ jitsi_root_dir }}/tmp/"
remote_src: true
become_user: "{{ jitsi_user }}"
- name: Build jibri
command: /opt/maven/apache-maven/bin/mvn package -DskipTests -Dassembly.skipAssembly=false
args:
chdir: "{{ jitsi_root_dir }}/tmp/jibri-master"
environment:
JAVA_HOME: /usr/lib/jvm/java-17
become_user: "{{ jitsi_user }}"
- name: Install Jitsi Jibri JAR
copy:
src: "{{ jitsi_root_dir }}/tmp/jibri-master/target/jibri-8.0-SNAPSHOT-jar-with-dependencies.jar"
dest: "{{ jitsi_root_dir }}/jibri/jibri.jar"
remote_src: true
notify: restart jitsi-jibri
- name: Write installed version
copy: content={{ jitsi_jibri_version }} dest={{ jitsi_root_dir }}/meta/ansible_jibri_version
tags: jitsi
- name: Install systemd unit
template: src=jitsi-{{ item }}.j2 dest=/etc/systemd/system/jitsi-{{ item }}
loop:
- jibri.service
- jibri-xorg.service
- jibri-cleaner.service
- jibri-cleaner.timer
register: jitsi_jibri_unit
notify: restart jitsi-jibri
tags: jitsi
- name: Reload systemd
systemd: daemon_reload=True
when: jitsi_jibri_unit.results | selectattr('changed','equalto',True) | list | length > 0
tags: jitsi
- name: Install finalize script
template: src=finalize.pl.j2 dest={{ jitsi_root_dir }}/jibri/finalize.pl mode=755
tags: jitsi
- name: Install record cleaning script
template: src=clean_records.sh.j2 dest={{ jitsi_root_dir }}/jibri/clean_records.sh mode=755
tags: jitsi