summaryrefslogtreecommitdiff
path: root/roles/apps/jitsi/meet/tasks/main.yml
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2021-07-14 01:16:07 +0200
committerChristian Pointner <equinox@spreadspace.org>2021-07-14 01:16:07 +0200
commiteb148a3408331b71284c01c6cea52938de6cc5ea (patch)
tree2622b516fdbf7529a705ad42fa77e6f5400813de /roles/apps/jitsi/meet/tasks/main.yml
parentadd testhosts for elevate obs workstations (diff)
jitsi/meet: add support for stream-ui from datacop
Diffstat (limited to 'roles/apps/jitsi/meet/tasks/main.yml')
-rw-r--r--roles/apps/jitsi/meet/tasks/main.yml80
1 files changed, 69 insertions, 11 deletions
diff --git a/roles/apps/jitsi/meet/tasks/main.yml b/roles/apps/jitsi/meet/tasks/main.yml
index b433a900..e83c789e 100644
--- a/roles/apps/jitsi/meet/tasks/main.yml
+++ b/roles/apps/jitsi/meet/tasks/main.yml
@@ -9,7 +9,37 @@
path: "{{ jitsi_meet_base_path }}/{{ jitsi_meet_inst_name }}/scripts/{{ item }}"
state: directory
-- name: generate prosody cont-init.d script
+- name: generate stream-ui specific cont-init scripts
+ when: jitsi_meet_streamui is defined
+ block:
+ - name: generate stream-ui specific cont-init scripts for prosody
+ copy:
+ content: |
+ #!/usr/bin/with-contenv bash
+ cat << EOF > /config/conf.d/stream-ui.cfg.lua
+ VirtualHost "stream-ui.meet.jitsi"
+ modules_enabled = {
+ "ping";
+ }
+ authentication = "internal_hashed"
+ EOF
+ prosodyctl --config "/config/prosody.cfg.lua" register display stream-ui.meet.jitsi "{{ jitsi_meet_secrets.streamuidisplay_auth_password }}"
+ dest: "{{ jitsi_meet_base_path }}/{{ jitsi_meet_inst_name }}/scripts/prosody/streamui.sh"
+ mode: 0750
+
+ - name: generate stream-ui specific cont-init scripts for web
+ copy:
+ content: |
+ #!/usr/bin/with-contenv bash
+ cat << EOF >> /config/config.js
+
+ // Hide Stream-UI Displays
+ config.hiddenDomain = 'stream-ui.meet.jitsi';
+ EOF
+ dest: "{{ jitsi_meet_base_path }}/{{ jitsi_meet_inst_name }}/scripts/web/streamui.sh"
+ mode: 0755
+
+- name: generate generic prosody cont-init script
copy:
content: |
#!/usr/bin/with-contenv bash
@@ -25,20 +55,52 @@
dest: "{{ jitsi_meet_base_path }}/{{ jitsi_meet_inst_name }}/scripts/prosody/cont-init.sh"
mode: 0750
+
+- name: configure base pod config hash items
+ set_fact:
+ kubernetes_standalone_pod_config_hash_items_base:
+ - path: "{{ jitsi_meet_base_path }}/{{ jitsi_meet_inst_name }}/scripts/prosody/cont-init.sh"
+ properties:
+ - checksum
+ kubernetes_standalone_pod_config_hash_items_streamui: []
+
+- name: configure stream-ui pod config hash items
+ when: jitsi_meet_streamui is defined
+ set_fact:
+ kubernetes_standalone_pod_config_hash_items_streamui:
+ - path: "{{ jitsi_meet_base_path }}/{{ jitsi_meet_inst_name }}/scripts/prosody/streamui.sh"
+ properties:
+ - checksum
+ - path: "{{ jitsi_meet_base_path }}/{{ jitsi_meet_inst_name }}/scripts/prosody/streamui.sh"
+ properties:
+ - checksum
+
- name: install pod manifest
vars:
kubernetes_standalone_pod:
name: "jitsi-meet-{{ jitsi_meet_inst_name }}"
spec: "{{ lookup('template', 'pod-spec.yml.j2') }}"
mode: "0600"
- config_hash_items:
- - path: "{{ jitsi_meet_base_path }}/{{ jitsi_meet_inst_name }}/scripts/prosody/cont-init.sh"
- properties:
- - checksum
+ config_hash_items: "{{ kubernetes_standalone_pod_config_hash_items_base + kubernetes_standalone_pod_config_hash_items_streamui }}"
include_role:
name: kubernetes/standalone/pod
-## TODO: https://github.com/jitsi/jitsi-meet/blob/master/doc/turn.md
+
+- name: configure base http proxy locations
+ set_fact:
+ nginx_vhost_locations_base:
+ '/':
+ proxy_pass: "http://127.0.0.1:{{ jitsi_meet_http_port }}"
+ extra_directives: |-
+ client_max_body_size 0;
+ nginx_vhost_locations_streamui: {}
+
+- name: configure stream-ui http proxy locations
+ when: jitsi_meet_streamui is defined
+ set_fact:
+ nginx_vhost_locations_streamui:
+ '/stream-ui/':
+ proxy_pass: "http://127.0.0.1:{{ jitsi_meet_streamui.http_port }}/"
- name: configure nginx vhost
vars:
@@ -48,10 +110,6 @@
acme: true
hostnames:
- "{{ jitsi_meet_hostname }}"
- locations:
- '/':
- proxy_pass: "http://127.0.0.1:{{ jitsi_meet_http_port }}"
- extra_directives: |-
- client_max_body_size 0;
+ locations: "{{ nginx_vhost_locations_base | combine(nginx_vhost_locations_streamui) }}"
include_role:
name: nginx/vhost