Add recommendation on resources and jibri nodes.

This commit is contained in:
Luis Guzmán 2020-10-08 10:38:39 -05:00
parent f1185d95d5
commit 92e6e36a79
3 changed files with 77 additions and 14 deletions

View File

@ -1,49 +1,75 @@
# Quick Jibri Installer # Quick Jibri Installer
Bash installer for Jibri on **\*buntu LTS** based systems using **nginx** as default webserver. Bash installer for Jibri on **Ubuntu LTS** based systems using **nginx** as default webserver.
## Usage ## Usage
As for our current latest release, as we have integrated more and more features, we highly recommend to use a purpose specific-newly spawn server to host the jitsi-meet framework, making sure you stick to the requirements and recommendations as much as possible, in order to avoid issues.
### Main Server
Login into your clean server, clone git repository and run the installer,
``` ```
git clone https://github.com/switnet-ltd/quick-jibri-installer git clone https://github.com/switnet-ltd/quick-jibri-installer
cd quick-jibri-installer cd quick-jibri-installer
bash quick-jibri-installer.sh bash quick-jibri-installer.sh
``` ```
Please check more details on our wiki.
### Add Jibri node
Copy the modified `add-jibri-node.sh` file from your early cloned installation directory once it's completed to the new server meant to be a jibri node using your preferred method, then run it
**WARNING:** This file contains sensitive information from your setup, please handle with care.
```
bash add-jibri-node.sh
```
Check more details on our wiki.
## Requirements ## Requirements
* Clean VM/VPS/Server using Ubuntu LTS * Clean VM/VPS/Server using Ubuntu LTS
* Valid domain with DNS record, **mandatory** for SSL certs via Let's Encrypt. * Valid domain with DNS record, **mandatory** for SSL certs via Let's Encrypt.
* Ports open for ACME (SSL) interaction & validation. * Ports open for ACME (SSL) interaction & validation.
* Minimum recommended for video recording: 8 GB RAM / 4 Cores. * Highly recommended: 8 GB RAM / 4 Cores.
* Webcam * Webcam
### Jigasi Transcript ### Jigasi Transcript
* SIP account * SIP account
* Google Cloud Account with Billing setup. * Google Cloud Account with Billing setup.
### Jibri Recodings Access via Nextcloud ### Jibri Recodings Access via Nextcloud
* Valid domain with DNS record for Nextcloud SSL. * Valid domain with DNS record for Nextcloud SSL.
## Kernel warning
For AWS users or any cloud service provider that might use their own kernel on their products (servers/vm/vps), might cause Jibri failure to start due not allowing `snd_aloop` module.
Make sure that you update your grub to boot the right one.
Feel free to use our (new) `test-jibri-env.sh` tool to find some details on your current setup.
## Features ## Features
* Enabled Session (video) Recording using Jibri * Enabled Session Recording using Jibri
* Enabled Jitsi Electron app detection server side. * Enabled Jitsi Electron app detection server side.
* Standalone SSL Certbot/LE implementation * Standalone SSL Certbot/LE implementation
* Jigasi Transcript - Speech to Text powered by Google API * Jigasi Transcript - Speech to Text powered by Google API
* JRA (Jibri Recordings Access) via Nextcloud * JRA (Jibri Recordings Access) via Nextcloud
* Improved recurring updater * Improved recurring updater
* Customized brandless mode * Customized brandless mode
* (New) Setting up custom interface_config.js * Setting up custom interface_config.js
* (New) Grafana Dashboard * Grafana Dashboard
* (New) Lobby Rooms - Secure Rooms * Lobby Rooms - Secure Rooms
* (New) Conference Duration - Secure Rooms * Conference Duration - Secure Rooms
* (New) Automatic Jibri nodes network sync ([see more](https://github.com/switnet-ltd/quick-jibri-installer/wiki/Jibri-Nodes)).
## Tools (New)
* (New) Jibri Environment Tester
* (New) Jibri Conf Upgrader (late 2020).
## Optional custom changes ## Optional custom changes
* Optional default language * Optional default language
* Option to enable Secure Rooms * Option to enable Secure Rooms
* Option to enable Welcome Page * Option to enable Welcome Page
* Option to enable Local audio recording using flac.
* Option to use Rodentia static avatar (icon credit: sixsixfive) - Legacy
## Custom changes ## Custom changes
* Start with video muted by default * Start with video muted by default

View File

@ -125,7 +125,8 @@ if [ "$CPU_MIN" = "Y" ] && [ "$MEM_MIN" = "Y" ];then
" "
else else
echo "CPU ($(nproc --all))/RAM ($((mem_available/1024)) MiB) does NOT meet minimum recommended requirements!" echo "CPU ($(nproc --all))/RAM ($((mem_available/1024)) MiB) does NOT meet minimum recommended requirements!"
echo "Even when you can use the videconference sessions, we advice to increase the resources in order to user Jibri." echo "Since this is a Jibri node there is no point on having the necessary resources."
echo "We highly advice to increase the resources in order to install this Jibri node."
while [[ "$CONTINUE_LOW_RES" != "yes" && "$CONTINUE_LOW_RES" != "no" ]] while [[ "$CONTINUE_LOW_RES" != "yes" && "$CONTINUE_LOW_RES" != "no" ]]
do do
read -p "> Do you want to continue?: (yes or no)"$'\n' -r CONTINUE_LOW_RES read -p "> Do you want to continue?: (yes or no)"$'\n' -r CONTINUE_LOW_RES
@ -133,7 +134,7 @@ else
echo "See you next time with more resources!..." echo "See you next time with more resources!..."
exit exit
elif [ "$CONTINUE_LOW_RES" = "yes" ]; then elif [ "$CONTINUE_LOW_RES" = "yes" ]; then
echo "Please keep in mind that trying to use Jibri with low resources might fail." echo "Please keep in mind that we might not support underpowered nodes."
fi fi
done done
fi fi
@ -155,7 +156,7 @@ check_var MJS_USER_PASS "$MJS_USER_PASS"
# Rename hostname for each jibri node # Rename hostname for each jibri node
hostnamectl set-hostname "jbnode${ADDUP}.${MAIN_SRV_DOMAIN}" hostnamectl set-hostname "jbnode${ADDUP}.${MAIN_SRV_DOMAIN}"
sed -i "1i ${PUBLIC_IP} jbnode${ADDUP}.${MAIN_SRV_DOMAIN}" /etc/hosts sed -i "1i 127.0.0.1 jbnode${ADDUP}.${MAIN_SRV_DOMAIN}" /etc/hosts
# Jitsi-Meet Repo # Jitsi-Meet Repo
echo "Add Jitsi repo" echo "Add Jitsi repo"

View File

@ -189,7 +189,38 @@ else
echo "See you next time with more resources!..." echo "See you next time with more resources!..."
exit exit
elif [ "$CONTINUE_LOW_RES" = "yes" ]; then elif [ "$CONTINUE_LOW_RES" = "yes" ]; then
echo "Please keep in mind that trying to use Jibri with low resources might fail." echo "We highly recommend to increase the server resources."
echo "Otherwise, please think about adding dedicated jibri nodes instead."
fi
done
fi
if [ "$CONTINUE_LOW_RES" = "yes" ]; then
echo -e "\nThis server will likely have issues due the lack of resources.
If you plan to enable other components such as,
- JRA via Nextcloud
- Jigasi Transcriber
- Additional Jibri Nodes
- others.
We higly recommend to increase resources of this server.
For now we advice to disable the Jibri service locally and add an external
Jibri node once this installation has finished, using our script:
>> add-jibri-node.sh
So you can add a Jibri server on a instance with enough resources.\n"
while [[ "$DISABLE_LOCAL_JIBRI" != "yes" && "$DISABLE_LOCAL_JIBRI" != "no" ]]
do
read -p "> Do you want to disable local jibri service?: (yes or no)"$'\n' -r DISABLE_LOCAL_JIBRI
if [ "$DISABLE_LOCAL_JIBRI" = "no" ]; then
echo "Please keep in mind that we might not support underpowered servers."
exit
elif [ "$DISABLE_LOCAL_JIBRI" = "yes" ]; then
echo "Please think about adding dedicated jibri nodes see more at the wiki."
fi fi
done done
fi fi
@ -955,6 +986,11 @@ systemctl enable jibri
systemctl enable jibri-xorg systemctl enable jibri-xorg
systemctl enable jibri-icewm systemctl enable jibri-icewm
restart_services restart_services
if [ "$DISABLE_LOCAL_JIBRI" = "yes" ]; then
systemctl stop jibri*
systemctl disable jibri*
fi
enable_letsencrypt enable_letsencrypt