Update Install_recording.yml
This commit is contained in:
@@ -1,97 +1,129 @@
|
|||||||
- name: Installeer Firefox, Geckodriver en Talk Recording omgeving
|
---
|
||||||
|
- name: Playbook om Firefox, Geckodriver en andere tools te installeren
|
||||||
hosts: localhost
|
hosts: localhost
|
||||||
become: true
|
become: yes
|
||||||
connection: local
|
|
||||||
vars:
|
vars:
|
||||||
nextcloud_domain: "{{ nextcloud_domain }}"
|
nextcloud_domain: "{{ nextcloud_domain }}"
|
||||||
nextcloud_secret: "{{ nextcloud_secret }}"
|
nextcloud_secret: "{{ nextcloud_secret }}"
|
||||||
signaling_domain: "{{ signaling_domain }}"
|
signaling_domain: "{{ signaling_domain }}"
|
||||||
signaling_secret: "{{ signaling_secret }}"
|
signaling_secret: "{{ signaling_secret }}"
|
||||||
recording_dir: "/opt/recording"
|
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Installeer vereiste pakketten
|
|
||||||
apt:
|
|
||||||
name:
|
|
||||||
- libgtk-3-0
|
|
||||||
- libdbus-glib-1-2
|
|
||||||
- libpulse0
|
|
||||||
- pulseaudio
|
|
||||||
- xvfb
|
|
||||||
- ffmpeg
|
|
||||||
- python3.10-venv
|
|
||||||
state: present
|
|
||||||
update_cache: yes
|
|
||||||
|
|
||||||
- name: Download Firefox
|
- name: Download en extract Firefox naar /opt
|
||||||
get_url:
|
ansible.builtin.command:
|
||||||
url: "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US"
|
cmd: 'wget -O firefox.tar.xz https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US'
|
||||||
dest: /opt/firefox.tar.xz
|
chdir: /opt
|
||||||
|
args:
|
||||||
|
creates: /opt/firefox
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: Pak Firefox uit
|
- name: Extract Firefox
|
||||||
unarchive:
|
unarchive:
|
||||||
src: /opt/firefox.tar.xz
|
src: /opt/firefox.tar.xz
|
||||||
dest: /opt/
|
dest: /opt
|
||||||
remote_src: yes
|
remote_src: yes
|
||||||
|
|
||||||
- name: Maak symlink voor Firefox
|
- name: Maak een symlink voor Firefox
|
||||||
file:
|
ansible.builtin.file:
|
||||||
src: /opt/firefox/firefox
|
src: /opt/firefox/firefox
|
||||||
dest: /usr/local/bin/firefox
|
dest: /usr/local/bin/firefox
|
||||||
state: link
|
state: link
|
||||||
force: true
|
become: yes
|
||||||
|
|
||||||
- name: Download Geckodriver
|
- name: Installeer benodigde GTK bibliotheken
|
||||||
get_url:
|
apt:
|
||||||
url: https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-linux64.tar.gz
|
update_cache: yes
|
||||||
dest: /usr/local/bin/geckodriver.tar.gz
|
name:
|
||||||
|
- libgtk-3-0
|
||||||
|
- libdbus-glib-1-2
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: Pak Geckodriver uit
|
- name: Download en extract Geckodriver naar /usr/local/bin
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: 'wget https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-linux64.tar.gz'
|
||||||
|
chdir: /usr/local/bin
|
||||||
|
args:
|
||||||
|
creates: /usr/local/bin/geckodriver
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Extract Geckodriver
|
||||||
unarchive:
|
unarchive:
|
||||||
src: /usr/local/bin/geckodriver.tar.gz
|
src: /usr/local/bin/geckodriver-v0.36.0-linux64.tar.gz
|
||||||
dest: /usr/local/bin/
|
dest: /usr/local/bin
|
||||||
remote_src: yes
|
remote_src: yes
|
||||||
|
|
||||||
- name: Verwijder Geckodriver archive
|
- name: Maak Geckodriver executable
|
||||||
file:
|
file:
|
||||||
path: /usr/local/bin/geckodriver.tar.gz
|
path: /usr/local/bin/geckodriver
|
||||||
state: absent
|
|
||||||
|
|
||||||
- name: Maak recording directory aan
|
|
||||||
file:
|
|
||||||
path: "{{ recording_dir }}"
|
|
||||||
state: directory
|
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: Maak Python virtuele omgeving aan in recording map
|
- name: Verwijder Geckodriver tar.gz
|
||||||
shell: python3 -m venv venv
|
ansible.builtin.file:
|
||||||
args:
|
path: /usr/local/bin/geckodriver-v0.36.0-linux64.tar.gz
|
||||||
chdir: "{{ recording_dir }}"
|
state: absent
|
||||||
creates: "{{ recording_dir }}/venv/bin/activate"
|
become: yes
|
||||||
|
|
||||||
- name: Activeer venv en installeer nextcloud-talk-recording
|
- name: Installeer python3.10-venv
|
||||||
shell: |
|
apt:
|
||||||
source venv/bin/activate
|
update_cache: yes
|
||||||
pip install file://$(pwd)/nextcloud-talk-recording
|
name: python3.10-venv
|
||||||
args:
|
become: yes
|
||||||
chdir: "{{ recording_dir }}"
|
|
||||||
|
|
||||||
- name: Maak server.conf bestand aan
|
- name: Installeer libpulse0
|
||||||
copy:
|
apt:
|
||||||
dest: "{{ recording_dir }}/server.conf"
|
update_cache: yes
|
||||||
|
name: libpulse0
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Installeer pulseaudio
|
||||||
|
apt:
|
||||||
|
update_cache: yes
|
||||||
|
name: pulseaudio
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Installeer xvfb
|
||||||
|
apt:
|
||||||
|
update_cache: yes
|
||||||
|
name: xvfb
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Installeer ffmpeg
|
||||||
|
apt:
|
||||||
|
update_cache: yes
|
||||||
|
name: ffmpeg
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Maak de map recording aan
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /opt/recording
|
||||||
|
state: directory
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Installeer een virtuele omgeving in map recording
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: python3 -m venv venv
|
||||||
|
chdir: /opt/recording
|
||||||
|
become: yes
|
||||||
|
|
||||||
|
- name: Activeer de virtuele omgeving en installeer nextcloud-talk-recording
|
||||||
|
ansible.builtin.shell: |
|
||||||
|
source /opt/recording/venv/bin/activate
|
||||||
|
pip install file:///opt/recording/nextcloud-talk-recording
|
||||||
|
|
||||||
|
- name: Maak de server.conf aan
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: /opt/recording/server.conf
|
||||||
content: |
|
content: |
|
||||||
[logs]
|
[logs]
|
||||||
level = 20
|
level = 20
|
||||||
|
|
||||||
[http]
|
[http]
|
||||||
listen = 0.0.0.0:8000
|
listen = 0.0.0.0:8000
|
||||||
|
|
||||||
[app]
|
[app]
|
||||||
trustedproxies =
|
trustedproxies =
|
||||||
|
|
||||||
[backend]
|
[backend]
|
||||||
backends = backend-1
|
backends = backend-1
|
||||||
|
|
||||||
[backend-1]
|
[backend-1]
|
||||||
url = {{ nextcloud_domain }}
|
url = {{ nextcloud_domain }}
|
||||||
secret = {{ nextcloud_secret }}
|
secret = {{ nextcloud_secret }}
|
||||||
@@ -101,25 +133,22 @@
|
|||||||
videowidth = 1920
|
videowidth = 1920
|
||||||
videoheight = 1080
|
videoheight = 1080
|
||||||
directory = /tmp
|
directory = /tmp
|
||||||
|
|
||||||
[signaling]
|
[signaling]
|
||||||
url = {{ signaling_domain }}
|
url = {{ signaling_domain }}
|
||||||
internalsecret = {{ signaling_secret }}
|
internalsecret = {{ signaling_secret }}
|
||||||
|
|
||||||
[ffmpeg]
|
[ffmpeg]
|
||||||
common = ffmpeg -loglevel level+warning -n -thread_queue_size 1024
|
common = ffmpeg -loglevel level+warning -n -thread_queue_size 1024
|
||||||
outputaudio = -c:a libopus
|
outputaudio = -c:a libopus
|
||||||
outputvideo = -c:v libvpx -deadline:v realtime -crf 10 -b:v 1M
|
outputvideo = -c:v libvpx -deadline:v realtime -crf 10 -b:v 1M
|
||||||
extensionaudio = .ogg
|
extensionaudio = .ogg
|
||||||
extensionvideo = .webm
|
extensionvideo = .webm
|
||||||
|
|
||||||
[recording]
|
[recording]
|
||||||
browser = firefox
|
browser = firefox
|
||||||
|
|
||||||
[stats]
|
[stats]
|
||||||
allowed_ips =
|
allowed_ips =
|
||||||
|
|
||||||
- name: Start recording server in background met nohup
|
- name: Laat de service altijd draaien
|
||||||
shell: nohup {{ recording_dir }}/venv/bin/python3 -m nextcloud.talk.recording > output.log 2>&1 &
|
ansible.builtin.shell: |
|
||||||
args:
|
source /opt/recording/venv/bin/activate
|
||||||
chdir: "{{ recording_dir }}"
|
nohup python3 -m nextcloud.talk.recording > /opt/recording/output.log 2>&1 &
|
||||||
|
become: yes
|
||||||
|
|||||||
Reference in New Issue
Block a user