From 02d35fcf185f9dea8125230bec2daf7494876156 Mon Sep 17 00:00:00 2001 From: pedro Date: Thu, 5 May 2022 00:25:27 +0200 Subject: [PATCH 01/11] init cdist for jibri (see details) - processed partially part of the init session on 2022-04-27 - processed all content suggested by @evilham on 2022-04-28 --- type/__jitsi_meet/files/jibri.cfg.lua.sh | 14 +++ type/__jitsi_meet/files/jibri.conf.sh | 134 +++++++++++++++++++++++ type/__jitsi_meet/files/jicofo.conf.sh | 12 ++ type/__jitsi_meet/manifest | 9 ++ type/__jitsi_meet/manifest_jibri | 19 ++++ type/__jitsi_meet/parameter/boolean | 1 + type/__jitsi_meet_user/manifest | 6 +- 7 files changed, 194 insertions(+), 1 deletion(-) create mode 100644 type/__jitsi_meet/files/jibri.cfg.lua.sh create mode 100755 type/__jitsi_meet/files/jibri.conf.sh create mode 100755 type/__jitsi_meet/manifest_jibri diff --git a/type/__jitsi_meet/files/jibri.cfg.lua.sh b/type/__jitsi_meet/files/jibri.cfg.lua.sh new file mode 100644 index 0000000..687f52e --- /dev/null +++ b/type/__jitsi_meet/files/jibri.cfg.lua.sh @@ -0,0 +1,14 @@ +#!/bin/sh -eu + +# Source: +# https://github.com/jitsi/jibri#prosody + +# shellcheck disable=SC2034 # This is intended to be included +JIBRI_CONFIG="$(cat </dev/null || true)" +DOMAIN="$(cat "${__object}/parameter/domain" 2>/dev/null || true)" STATE="$(cat "${__object}/parameter/state")" if [ -z "${PASSWD}" ] && [ "${STATE}" != "absent" ]; then @@ -23,7 +24,10 @@ EOF fi JITSI_USER="$(basic_urlencode "${JITSI_USER_RAW}")" -FQDN="$(basic_urlencode "${__target_host}")" +if [ -z "${DOMAIN}" ]; then + DOMAIN="${__target_host}" +fi +FQDN="$(basic_urlencode "${DOMAIN}")" FQDN_PATH="/var/lib/prosody/${FQDN}/accounts" FILENAME="${FQDN_PATH}/${JITSI_USER}.dat" From 555427cba14270679c3c3747cb209f840dab6e01 Mon Sep 17 00:00:00 2001 From: pedro Date: Thu, 5 May 2022 00:25:27 +0200 Subject: [PATCH 02/11] init cdist for jibri (see details) - processed partially part of the init session on 2022-04-27 - processed all content suggested by @evilham on 2022-04-28 --- type/__jitsi_meet/files/ufw | 1 + 1 file changed, 1 insertion(+) diff --git a/type/__jitsi_meet/files/ufw b/type/__jitsi_meet/files/ufw index 761d820..3ac8c4f 100644 --- a/type/__jitsi_meet/files/ufw +++ b/type/__jitsi_meet/files/ufw @@ -2,6 +2,7 @@ # Setup firewall __ufw +require="__ufw" __ufw_rule ssh --rule 'allow 22/tcp' # Allow jitsi ports require="__ufw" __ufw_rule http --rule 'allow 80/tcp' require="__ufw" __ufw_rule https --rule 'allow 443/tcp' From 7ec8aa82c4b0eeb5530545dab75a95aa098e9375 Mon Sep 17 00:00:00 2001 From: pedro Date: Sun, 8 May 2022 22:30:27 +0200 Subject: [PATCH 03/11] progress --- type/__jitsi_jibri/.gitignore | 1 + type/__jitsi_jibri/explorer/kernel_release | 2 + .../files/apt-google-chrome-keyring.gpg | 198 ++++++++++++++++++ .../__jitsi_jibri/files/apt-jitsi-keyring.gpg | 51 +++++ type/__jitsi_jibri/files/chrome-driver-hash | 1 + .../__jitsi_jibri/files/chrome-driver-version | 1 + .../files/jibri.conf.sh | 2 +- type/__jitsi_jibri/files/update_files.sh | 13 ++ type/__jitsi_jibri/man.rst | 1 + type/__jitsi_jibri/manifest | 99 +++++++++ type/__jitsi_jibri/singleton | 0 type/__jitsi_meet/files/jibri.cfg.lua.sh | 2 +- type/__jitsi_meet/files/jicofo.conf.sh | 1 + type/__jitsi_meet/manifest | 21 +- type/__jitsi_meet/manifest_jibri | 19 -- type/__jitsi_meet_user/parameter/optional | 1 + 16 files changed, 391 insertions(+), 22 deletions(-) create mode 100644 type/__jitsi_jibri/.gitignore create mode 100644 type/__jitsi_jibri/explorer/kernel_release create mode 100644 type/__jitsi_jibri/files/apt-google-chrome-keyring.gpg create mode 100644 type/__jitsi_jibri/files/apt-jitsi-keyring.gpg create mode 100644 type/__jitsi_jibri/files/chrome-driver-hash create mode 100644 type/__jitsi_jibri/files/chrome-driver-version rename type/{__jitsi_meet => __jitsi_jibri}/files/jibri.conf.sh (99%) create mode 100755 type/__jitsi_jibri/files/update_files.sh create mode 100644 type/__jitsi_jibri/man.rst create mode 100755 type/__jitsi_jibri/manifest create mode 100644 type/__jitsi_jibri/singleton delete mode 100755 type/__jitsi_meet/manifest_jibri diff --git a/type/__jitsi_jibri/.gitignore b/type/__jitsi_jibri/.gitignore new file mode 100644 index 0000000..47a0020 --- /dev/null +++ b/type/__jitsi_jibri/.gitignore @@ -0,0 +1 @@ +files/chromedriver_linux64.zip diff --git a/type/__jitsi_jibri/explorer/kernel_release b/type/__jitsi_jibri/explorer/kernel_release new file mode 100644 index 0000000..3445af5 --- /dev/null +++ b/type/__jitsi_jibri/explorer/kernel_release @@ -0,0 +1,2 @@ +#!/bin/sh +uname -r diff --git a/type/__jitsi_jibri/files/apt-google-chrome-keyring.gpg b/type/__jitsi_jibri/files/apt-google-chrome-keyring.gpg new file mode 100644 index 0000000..60e82b8 --- /dev/null +++ b/type/__jitsi_jibri/files/apt-google-chrome-keyring.gpg @@ -0,0 +1,198 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.2.2 (GNU/Linux) + +mQGiBEXwb0YRBADQva2NLpYXxgjNkbuP0LnPoEXruGmvi3XMIxjEUFuGNCP4Rj/a +kv2E5VixBP1vcQFDRJ+p1puh8NU0XERlhpyZrVMzzS/RdWdyXf7E5S8oqNXsoD1z +fvmI+i9b2EhHAA19Kgw7ifV8vMa4tkwslEmcTiwiw8lyUl28Wh4Et8SxzwCggDcA +feGqtn3PP5YAdD0km4S4XeMEAJjlrqPoPv2Gf//tfznY2UyS9PUqFCPLHgFLe80u +QhI2U5jt6jUKN4fHauvR6z3seSAsh1YyzyZCKxJFEKXCCqnrFSoh4WSJsbFNc4PN +b0V0SqiTCkWADZyLT5wll8sWuQ5ylTf3z1ENoHf+G3um3/wk/+xmEHvj9HCTBEXP +78X0A/0Tqlhc2RBnEf+AqxWvM8sk8LzJI/XGjwBvKfXe+l3rnSR2kEAvGzj5Sg0X +4XmfTg4Jl8BNjWyvm2Wmjfet41LPmYJKsux3g0b8yzQxeOA4pQKKAU3Z4+rgzGmf +HdwCG5MNT2A5XxD/eDd+L4fRx0HbFkIQoAi1J3YWQSiTk15fw7RMR29vZ2xlLCBJ +bmMuIExpbnV4IFBhY2thZ2UgU2lnbmluZyBLZXkgPGxpbnV4LXBhY2thZ2VzLWtl +eW1hc3RlckBnb29nbGUuY29tPohjBBMRAgAjAhsDBgsJCAcDAgQVAggDBBYCAwEC +HgECF4AFAkYVdn8CGQEACgkQoECDD3+sWZHKSgCfdq3HtNYJLv+XZleb6HN4zOcF +AJEAniSFbuv8V5FSHxeRimHx25671az+uQINBEXwb0sQCACuA8HT2nr+FM5y/kzI +A51ZcC46KFtIDgjQJ31Q3OrkYP8LbxOpKMRIzvOZrsjOlFmDVqitiVc7qj3lYp6U +rgNVaFv6Qu4bo2/ctjNHDDBdv6nufmusJUWq/9TwieepM/cwnXd+HMxu1XBKRVk9 +XyAZ9SvfcW4EtxVgysI+XlptKFa5JCqFM3qJllVohMmr7lMwO8+sxTWTXqxsptJo +pZeKz+UBEEqPyw7CUIVYGC9ENEtIMFvAvPqnhj1GS96REMpry+5s9WKuLEaclWpd +K3krttbDlY1NaeQUCRvBYZ8iAG9YSLHUHMTuI2oea07Rh4dtIAqPwAX8xn36JAYG +2vgLAAMFB/wKqaycjWAZwIe98Yt0qHsdkpmIbarD9fGiA6kfkK/UxjL/k7tmS4Vm +CljrrDZkPSQ/19mpdRcGXtb0NI9+nyM5trweTvtPw+HPkDiJlTaiCcx+izg79Fj9 +KcofuNb3lPdXZb9tzf5oDnmm/B+4vkeTuEZJ//IFty8cmvCpzvY+DAz1Vo9rA+Zn +cpWY1n6z6oSS9AsyT/IFlWWBZZ17SpMHu+h4Bxy62+AbPHKGSujEGQhWq8ZRoJAT +G0KSObnmZ7FwFWu1e9XFoUCt0bSjiJWTIyaObMrWu/LvJ3e9I87HseSJStfw6fki +5og9qFEkMrIrBCp3QGuQWBq/rTdMuwNFiEkEGBECAAkFAkXwb0sCGwwACgkQoECD +D3+sWZF/WACfeNAu1/1hwZtUo1bR+MWiCjpvHtwAnA1R3IHqFLQ2X3xJ40XPuAyY +/FJG +=Quqp +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=ilBW +-----END PGP PUBLIC KEY BLOCK----- diff --git a/type/__jitsi_jibri/files/apt-jitsi-keyring.gpg b/type/__jitsi_jibri/files/apt-jitsi-keyring.gpg new file mode 100644 index 0000000..e6cb1ab --- /dev/null +++ b/type/__jitsi_jibri/files/apt-jitsi-keyring.gpg @@ -0,0 +1,51 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=uIZN +-----END PGP PUBLIC KEY BLOCK----- diff --git a/type/__jitsi_jibri/files/chrome-driver-hash b/type/__jitsi_jibri/files/chrome-driver-hash new file mode 100644 index 0000000..8a70f54 --- /dev/null +++ b/type/__jitsi_jibri/files/chrome-driver-hash @@ -0,0 +1 @@ +sha256:189bb6d7f1d40481be8417cb451c24b550e473ccc434bbdcc0dee415e7a87a88 \ No newline at end of file diff --git a/type/__jitsi_jibri/files/chrome-driver-version b/type/__jitsi_jibri/files/chrome-driver-version new file mode 100644 index 0000000..367674a --- /dev/null +++ b/type/__jitsi_jibri/files/chrome-driver-version @@ -0,0 +1 @@ +101.0.4951.41 \ No newline at end of file diff --git a/type/__jitsi_meet/files/jibri.conf.sh b/type/__jitsi_jibri/files/jibri.conf.sh similarity index 99% rename from type/__jitsi_meet/files/jibri.conf.sh rename to type/__jitsi_jibri/files/jibri.conf.sh index ed6e148..8d3b147 100755 --- a/type/__jitsi_meet/files/jibri.conf.sh +++ b/type/__jitsi_jibri/files/jibri.conf.sh @@ -72,7 +72,7 @@ jibri { outbound-prefix = "out_" } ffmpeg { - resolution = "1920x1080" + resolution = "1280x720" // The audio source that will be used to capture audio on Linux audio-source = "alsa" // The audio device that will be used to capture audio on Linux diff --git a/type/__jitsi_jibri/files/update_files.sh b/type/__jitsi_jibri/files/update_files.sh new file mode 100755 index 0000000..c814ab3 --- /dev/null +++ b/type/__jitsi_jibri/files/update_files.sh @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +# src https://github.com/jitsi/jibri#jitsi-debian-repository +wget https://download.jitsi.org/jitsi-key.gpg.key -O apt-jitsi-keyring.gpg + +# src https://github.com/jitsi/jibri#google-chrome-stable--chromedriver +wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O apt-google-chrome-keyring.gpg + +curl chromedriver.storage.googleapis.com/LATEST_RELEASE > chrome-driver-version +chromedriver_path='chromedriver_linux64.zip' +curl "https://chromedriver.storage.googleapis.com/$(cat chrome-driver-version)/" -z "${chromedriver_path}" -o "${chromedriver_path}" +printf "sha256:$(sha256sum chromedriver_linux64.zip | cut -d' ' -f1)" > chrome-driver-hash diff --git a/type/__jitsi_jibri/man.rst b/type/__jitsi_jibri/man.rst new file mode 100644 index 0000000..1333ed7 --- /dev/null +++ b/type/__jitsi_jibri/man.rst @@ -0,0 +1 @@ +TODO diff --git a/type/__jitsi_jibri/manifest b/type/__jitsi_jibri/manifest new file mode 100755 index 0000000..4af22b3 --- /dev/null +++ b/type/__jitsi_jibri/manifest @@ -0,0 +1,99 @@ +#!/bin/sh -e + +os="$(cat "${__global}/explorer/os")" +kernel_release="$(cat "${__object}/explorer/kernel_release")" +case "${os}" in + devuan|debian) + if echo "${kernel_release}" | grep -qE "cloud|rt"; then + printf "using wrong kernel ${kernel_release}, do/use: apt install linux-image-amd64" >&2 + exit 1 + fi + ;; + #ubuntu) + #;; + # TODO on ubuntu you should also care about installing: + # linux-image-extra-virtual + # and to check for different kernel + # src https://github.com/jitsi/jibri#installation-notes + *) + echo "Your OS '${os}' is currently not supported." > /dev/stderr + exit 1 + ;; +esac + +__line /etc/modules --line "snd_aloop" + +# thanks https://github.com/emrahcom/emrah-buster-templates/blob/master/machines/eb-jibri-template/usr/local/bin/finalize_recording.sh +__file "/opt/finalize_recording.sh" \ + --mode 644 \ + --source - << EOF +#!/bin/sh +set -e + +exit 0 +EOF + +__apt_key 'jitsi_jibri' \ + --source "${__type}/files/apt-jitsi-keyring.gpg" \ + --state 'present' + +require='__apt_key/jitsi_jibri' __apt_source jitsi_jibri \ + --uri 'https://download.jitsi.org' \ + --distribution 'stable/' \ + --state present + +__apt_key 'google_chrome' \ + --source "${__type}/files/apt-google-chrome-keyring.gpg" \ + --state 'present' + +require='__apt_key/google_chrome' __apt_source google_chrome \ + --uri 'http://dl.google.com/linux/chrome/deb/' \ + --distribution 'stable' \ + --component 'main' \ + --state 'present' + +## Ensure apt cache is up-to-date +__apt_update_index + +PKGS="$( grep -v '#' <&2 +#exit 1 +__download '/tmp/chromedriver.zip' \ + --url "https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip" \ + --sum "${CHROME_DRIVER_HASH}" +CHROME_DRIVER_PATH='/usr/local/bin/chromedriver' +require='__download/chromedriver' __unpack '/tmp/chromedriver.zip' \ + --destination "${CHROME_DRIVER_PATH}" \ + --onchange "chown root:root ${CHROME_DRIVER_PATH} && chmod 0755 ${CHROME_DRIVER_PATH}" + +CHROME_POLICIES='/etc/opt/chrome/policies/managed' +require='__package/google-chrome' __directory "${CHROME_POLICIES}" --parents +require="__directory/${CHROME_POLICIES}" __file "${CHROME_POLICIES}/managed_policies" \ + --source '{ "CommandLineFlagSecurityWarningsEnabled": false }' \ + --mode 644 + +# Proceed only after installation/upgrade has finished +export require="__package/jibri" +__user_groups jibri --group adm --group audio --group video --group plugdev + +"${__type}/files/jibri.conf.sh" | \ + __file /etc/jitsi/jibri/jibri.conf --mode 0444 --source '-' + +__systemd_unit jibri.service \ + --enablement-state enabled \ + --restart diff --git a/type/__jitsi_jibri/singleton b/type/__jitsi_jibri/singleton new file mode 100644 index 0000000..e69de29 diff --git a/type/__jitsi_meet/files/jibri.cfg.lua.sh b/type/__jitsi_meet/files/jibri.cfg.lua.sh index 687f52e..fa3f8b2 100644 --- a/type/__jitsi_meet/files/jibri.cfg.lua.sh +++ b/type/__jitsi_meet/files/jibri.cfg.lua.sh @@ -5,7 +5,7 @@ # shellcheck disable=SC2034 # This is intended to be included JIBRI_CONFIG="$(cat < Date: Sun, 8 May 2022 22:33:01 +0200 Subject: [PATCH 04/11] Revert "init cdist for jibri (see details)" This reverts commit 555427cba14270679c3c3747cb209f840dab6e01. --- type/__jitsi_meet/files/ufw | 1 - 1 file changed, 1 deletion(-) diff --git a/type/__jitsi_meet/files/ufw b/type/__jitsi_meet/files/ufw index 3ac8c4f..761d820 100644 --- a/type/__jitsi_meet/files/ufw +++ b/type/__jitsi_meet/files/ufw @@ -2,7 +2,6 @@ # Setup firewall __ufw -require="__ufw" __ufw_rule ssh --rule 'allow 22/tcp' # Allow jitsi ports require="__ufw" __ufw_rule http --rule 'allow 80/tcp' require="__ufw" __ufw_rule https --rule 'allow 443/tcp' From 027566e6cc8363647e87d94c70a4353748085e35 Mon Sep 17 00:00:00 2001 From: pedro Date: Sun, 8 May 2022 23:06:07 +0200 Subject: [PATCH 05/11] fix chromedriver hash --- type/__jitsi_jibri/files/chrome-driver-hash | 2 +- type/__jitsi_jibri/files/update_files.sh | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/type/__jitsi_jibri/files/chrome-driver-hash b/type/__jitsi_jibri/files/chrome-driver-hash index 8a70f54..558ab10 100644 --- a/type/__jitsi_jibri/files/chrome-driver-hash +++ b/type/__jitsi_jibri/files/chrome-driver-hash @@ -1 +1 @@ -sha256:189bb6d7f1d40481be8417cb451c24b550e473ccc434bbdcc0dee415e7a87a88 \ No newline at end of file +sha256:99511b54102cf52ab22bf5dcc5a46c4a75d9ed4ca2b1d06b99a006782a33507f \ No newline at end of file diff --git a/type/__jitsi_jibri/files/update_files.sh b/type/__jitsi_jibri/files/update_files.sh index c814ab3..6955073 100755 --- a/type/__jitsi_jibri/files/update_files.sh +++ b/type/__jitsi_jibri/files/update_files.sh @@ -8,6 +8,7 @@ wget https://download.jitsi.org/jitsi-key.gpg.key -O apt-jitsi-keyring.gpg wget https://dl-ssl.google.com/linux/linux_signing_key.pub -O apt-google-chrome-keyring.gpg curl chromedriver.storage.googleapis.com/LATEST_RELEASE > chrome-driver-version -chromedriver_path='chromedriver_linux64.zip' -curl "https://chromedriver.storage.googleapis.com/$(cat chrome-driver-version)/" -z "${chromedriver_path}" -o "${chromedriver_path}" +cd_path='chromedriver_linux64.zip' +cd_url=https://chromedriver.storage.googleapis.com/$(cat chrome-driver-version)/chromedriver_linux64.zip +curl "${cd_url}" -z "${cd_path}" -o "${cd_path}" printf "sha256:$(sha256sum chromedriver_linux64.zip | cut -d' ' -f1)" > chrome-driver-hash From e6d087d2da410cc0891ed396ceb2b3496e1b5e74 Mon Sep 17 00:00:00 2001 From: pedro Date: Mon, 9 May 2022 02:23:38 +0200 Subject: [PATCH 06/11] jibri looks like and with 720p --- type/__jitsi_jibri/files/jibri.conf.sh | 1 + .../__jitsi_jibri/files/xorg-video-dummy.conf | 127 ++++++++++++++++++ type/__jitsi_jibri/man.rst | 4 + type/__jitsi_jibri/manifest | 101 +++++++++----- 4 files changed, 200 insertions(+), 33 deletions(-) create mode 100644 type/__jitsi_jibri/files/xorg-video-dummy.conf diff --git a/type/__jitsi_jibri/files/jibri.conf.sh b/type/__jitsi_jibri/files/jibri.conf.sh index 8d3b147..5fdc886 100755 --- a/type/__jitsi_jibri/files/jibri.conf.sh +++ b/type/__jitsi_jibri/files/jibri.conf.sh @@ -73,6 +73,7 @@ jibri { } ffmpeg { resolution = "1280x720" + // resolution = "1920x1080" // The audio source that will be used to capture audio on Linux audio-source = "alsa" // The audio device that will be used to capture audio on Linux diff --git a/type/__jitsi_jibri/files/xorg-video-dummy.conf b/type/__jitsi_jibri/files/xorg-video-dummy.conf new file mode 100644 index 0000000..d55372b --- /dev/null +++ b/type/__jitsi_jibri/files/xorg-video-dummy.conf @@ -0,0 +1,127 @@ +#!/bin/sh -eu + +cat <&2 -#exit 1 __download '/tmp/chromedriver.zip' \ --url "https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip" \ --sum "${CHROME_DRIVER_HASH}" -CHROME_DRIVER_PATH='/usr/local/bin/chromedriver' -require='__download/chromedriver' __unpack '/tmp/chromedriver.zip' \ +CHROME_DRIVER_PATH='/usr/local/bin' +require='__download/tmp/chromedriver.zip' __unpack '/tmp/chromedriver.zip' \ --destination "${CHROME_DRIVER_PATH}" \ --onchange "chown root:root ${CHROME_DRIVER_PATH} && chmod 0755 ${CHROME_DRIVER_PATH}" CHROME_POLICIES='/etc/opt/chrome/policies/managed' -require='__package/google-chrome' __directory "${CHROME_POLICIES}" --parents +require='__package/google-chrome-stable' __directory "${CHROME_POLICIES}" --parents require="__directory/${CHROME_POLICIES}" __file "${CHROME_POLICIES}/managed_policies" \ - --source '{ "CommandLineFlagSecurityWarningsEnabled": false }' \ - --mode 644 + --mode '644' \ + --source '-' < Date: Tue, 10 May 2022 14:36:24 +0200 Subject: [PATCH 07/11] small bugfixes --- type/__jitsi_jibri/manifest | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/type/__jitsi_jibri/manifest b/type/__jitsi_jibri/manifest index 72d3c55..efdf715 100755 --- a/type/__jitsi_jibri/manifest +++ b/type/__jitsi_jibri/manifest @@ -12,7 +12,7 @@ kernel_release="$(cat "${__object}/explorer/kernel_release")" case "${os}" in devuan|debian) if echo "${kernel_release}" | grep -qE "cloud|rt"; then - printf "using wrong kernel ${kernel_release}, do/use: apt install linux-image-amd64" >&2 + echo "using wrong kernel ${kernel_release}, do/use: apt install linux-image-amd64" >&2 exit 1 fi ;; @@ -23,7 +23,7 @@ case "${os}" in # and to check for different kernel # src https://github.com/jitsi/jibri#installation-notes *) - echo "Your OS '${os}' is currently not supported." > /dev/stderr + echo "Your OS '${os}' is currently not supported." >&2 exit 1 ;; esac @@ -103,7 +103,7 @@ require="__directory/${CHROME_POLICIES}" __file "${CHROME_POLICIES}/managed_poli EOF # Proceed only after installation/upgrade has finished -export require="__package/jibri" +export require='__package/jibri' __user_groups 'jibri' --group 'adm' --group 'audio' --group 'video' --group 'plugdev' # TODO tell to evilham that this way, missing a variable makes the whole file to be unprocessed, is it desirable? @@ -127,8 +127,8 @@ __file '/opt/jitsi/jibri/launch.sh' \ --onchange 'systemctl daemon-reload && systemctl restart jibri.service' \ --mode 755 \ --source '-' < Date: Wed, 8 Jun 2022 16:02:46 +0200 Subject: [PATCH 08/11] progress during cdist meeting 2022-5-18 --- type/__jitsi_jibri/files/jibri.conf.sh | 3 +- ...eo-dummy.conf => xorg-video-dummy.conf.sh} | 3 +- type/__jitsi_jibri/manifest | 36 +++++++++---------- 3 files changed, 22 insertions(+), 20 deletions(-) rename type/__jitsi_jibri/files/{xorg-video-dummy.conf => xorg-video-dummy.conf.sh} (99%) mode change 100644 => 100755 diff --git a/type/__jitsi_jibri/files/jibri.conf.sh b/type/__jitsi_jibri/files/jibri.conf.sh index 5fdc886..7802841 100755 --- a/type/__jitsi_jibri/files/jibri.conf.sh +++ b/type/__jitsi_jibri/files/jibri.conf.sh @@ -1,7 +1,7 @@ #!/bin/sh -eu # Start -cat < Date: Wed, 8 Jun 2022 17:06:17 +0200 Subject: [PATCH 09/11] add gencode-remote to jibri tested that this makes a new instance to work after the cdist procedure --- type/__jitsi_jibri/gencode-remote | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100755 type/__jitsi_jibri/gencode-remote diff --git a/type/__jitsi_jibri/gencode-remote b/type/__jitsi_jibri/gencode-remote new file mode 100755 index 0000000..3c3e605 --- /dev/null +++ b/type/__jitsi_jibri/gencode-remote @@ -0,0 +1,10 @@ +#!/bin/sh -e + +if grep -qE "__file" "${__messages_in}"; then + RESTART_SERVICES="YES" +fi + +if [ -n "${RESTART_SERVICES}" ]; then + echo "systemctl restart jibri" + echo "systemctl restart jibri-xorg" +fi From 93e7f04880673f5d3bdf6e71dafba84211e8cb96 Mon Sep 17 00:00:00 2001 From: pedro Date: Wed, 8 Jun 2022 18:48:58 +0200 Subject: [PATCH 10/11] finalizerecording puts all records in same dir --- .../__jitsi_jibri/files/finalize_recording.sh | 32 +++++++++++++++++++ type/__jitsi_jibri/manifest | 8 +---- 2 files changed, 33 insertions(+), 7 deletions(-) create mode 100755 type/__jitsi_jibri/files/finalize_recording.sh diff --git a/type/__jitsi_jibri/files/finalize_recording.sh b/type/__jitsi_jibri/files/finalize_recording.sh new file mode 100755 index 0000000..36a1f90 --- /dev/null +++ b/type/__jitsi_jibri/files/finalize_recording.sh @@ -0,0 +1,32 @@ +# Managed remotely, changes will be lost +#!/bin/sh +set -e +set -u + +guess_room_name() { + recording_meeting_path="${1}" + # the approach is to delete the 25 fixed character postfix string on each + # file (example: room_name_2022-06-08-15-28-25.mp4) another approach would be + # to take the url + # from the metadata.json file, but that would imply json parsing or jq dependency + basename "$(ls "${recording_meeting_path}"/*.mp4)" | rev | cut -c25- | rev +} + +move_meeting() { + mkdir -p "${recording_general_path}/${room}/" + mv "${recording_meeting_path}"/*.mp4 "${recording_general_path}/${room}/" + rm "${recording_meeting_path}/metadata.json" + rmdir "${recording_meeting_path}" +} + +main() { + recording_meeting_path="${1}" + recording_general_path="$(dirname "${1}")" + room="$(guess_room_name "${recording_meeting_path}")" + move_meeting + echo "$0 ${@} ${room}" >> /tmp/thisisatest.log +} + +main "${@}" + +exit 0 diff --git a/type/__jitsi_jibri/manifest b/type/__jitsi_jibri/manifest index 39a2e11..28ae9d3 100755 --- a/type/__jitsi_jibri/manifest +++ b/type/__jitsi_jibri/manifest @@ -30,13 +30,7 @@ __line '/etc/modules' --line 'snd_aloop' --onchange 'modprobe snd_aloop' # thanks https://github.com/emrahcom/emrah-buster-templates/blob/master/machines/eb-jibri-template/usr/local/bin/finalize_recording.sh __file '/opt/finalize_recording.sh' \ --mode '755' \ - --source '-' << EOF -# Managed remotely, changes will be lost -#!/bin/sh -set -e - -exit 0 -EOF + --source "${__type}/files/finalize_recordding.sh" __apt_key 'jitsi_meet' \ --source "${__type}/files/apt-jitsi-keyring.gpg" From cf0027240c502dac25138ab10e948f586866d68a Mon Sep 17 00:00:00 2001 From: pedro Date: Wed, 8 Jun 2022 18:53:19 +0200 Subject: [PATCH 11/11] finalize_recording refactors and fix --- type/__jitsi_jibri/files/finalize_recording.sh | 6 ++++-- type/__jitsi_jibri/manifest | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/type/__jitsi_jibri/files/finalize_recording.sh b/type/__jitsi_jibri/files/finalize_recording.sh index 36a1f90..115b7c0 100755 --- a/type/__jitsi_jibri/files/finalize_recording.sh +++ b/type/__jitsi_jibri/files/finalize_recording.sh @@ -13,6 +13,9 @@ guess_room_name() { } move_meeting() { + recording_meeting_path="${1}" + recording_general_path="${2}" + room="${3}" mkdir -p "${recording_general_path}/${room}/" mv "${recording_meeting_path}"/*.mp4 "${recording_general_path}/${room}/" rm "${recording_meeting_path}/metadata.json" @@ -23,8 +26,7 @@ main() { recording_meeting_path="${1}" recording_general_path="$(dirname "${1}")" room="$(guess_room_name "${recording_meeting_path}")" - move_meeting - echo "$0 ${@} ${room}" >> /tmp/thisisatest.log + move_meeting "${recording_meeting_path}" "${recording_general_path}" "${room}" } main "${@}" diff --git a/type/__jitsi_jibri/manifest b/type/__jitsi_jibri/manifest index 28ae9d3..e43b53a 100755 --- a/type/__jitsi_jibri/manifest +++ b/type/__jitsi_jibri/manifest @@ -30,7 +30,7 @@ __line '/etc/modules' --line 'snd_aloop' --onchange 'modprobe snd_aloop' # thanks https://github.com/emrahcom/emrah-buster-templates/blob/master/machines/eb-jibri-template/usr/local/bin/finalize_recording.sh __file '/opt/finalize_recording.sh' \ --mode '755' \ - --source "${__type}/files/finalize_recordding.sh" + --source "${__type}/files/finalize_recording.sh" __apt_key 'jitsi_meet' \ --source "${__type}/files/apt-jitsi-keyring.gpg"