forked from switnet/quick-jibri-installer
Add recommendation on resources and jibri nodes.
This commit is contained in:
parent
f1185d95d5
commit
92e6e36a79
46
README.md
46
README.md
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue