Compare commits
No commits in common. "5e2adfacbaf139764241a8b6397fb6dc95c4f218" and "81d34bc05ff4b1b2fb7d0d2bf379a21bb6502318" have entirely different histories.
5e2adfacba
...
81d34bc05f
|
@ -3,26 +3,6 @@
|
|||
# SwITNet Ltd © - 2023, https://switnet.net/
|
||||
# GPLv3 or later.
|
||||
|
||||
# Reset
|
||||
Color_Off='\e[0m' # Text Reset
|
||||
# Regular Colors
|
||||
Black='\e[0;30m' # Black
|
||||
Red='\e[0;31m' # Red
|
||||
Green='\e[0;32m' # Green
|
||||
Yellow='\e[0;33m' # Yellow
|
||||
Blue='\e[0;34m' # Blue
|
||||
Purple='\e[0;35m' # Purple
|
||||
Cyan='\e[0;36m' # Cyan
|
||||
|
||||
printwc() {
|
||||
printf "%b$2%b" "$1" "${Color_Off}"
|
||||
}
|
||||
print_title() {
|
||||
printwc "${Blue}" "\n#--------------------------------------------------"
|
||||
printwc "${Blue}" "\n# $1"
|
||||
printwc "${Blue}" "\n#--------------------------------------------------\n"
|
||||
}
|
||||
|
||||
while getopts m: option
|
||||
do
|
||||
case "${option}"
|
||||
|
@ -67,15 +47,14 @@ EXCAL_PORT_FILE="$EXCALIDRAW_HOME/backend/src/index.ts"
|
|||
# Test for matches
|
||||
test_match() {
|
||||
if grep -q "$1" "$2" ; then
|
||||
echo "$(basename "$2") - OK..."
|
||||
echo "It is possible to setup $(basename "$2"), continuing..."
|
||||
else
|
||||
echo "$(basename "$2"), FAIL..."
|
||||
echo "It is not possible to setup $(basename "$2"), stopping here."
|
||||
echo "Please report this to https://forge.switnet.net/switnet/quick-jibri-installer"
|
||||
exit
|
||||
fi
|
||||
}
|
||||
# Make sure we can rely on the match strings.
|
||||
printf "Testing match strings on config files.\n"
|
||||
test_match "$WS_MATCH1" "$WS_CONF"
|
||||
test_match "$PROS_MATCH1" "$PROSODY_FILE"
|
||||
test_match "$PROS_MATCH2" "$PROSODY_FILE"
|
||||
|
@ -83,9 +62,6 @@ test_match "$PROS_MATCH3" "$PROSODY_FILE"
|
|||
test_match "$PROS_MATCH3" "$PROSODY_FILE"
|
||||
test_match "$CONFIG_MATCH1" "$MEET_CONF"
|
||||
|
||||
#--------------------------------------------------
|
||||
print_title "Setup excalidraw backend."
|
||||
#--------------------------------------------------
|
||||
adduser --home "$EXCALIDRAW_HOME" --disabled-password --gecos "" excalidraw
|
||||
git clone https://github.com/jitsi/excalidraw-backend "$EXCALIDRAW_HOME/backend"
|
||||
test_match "$EXCAL_MATCH1" "$EXCAL_PORT_FILE"
|
||||
|
@ -94,22 +70,18 @@ chown -R excalidraw:excalidraw "$EXCALIDRAW_HOME"
|
|||
cd "$EXCALIDRAW_HOME/backend"
|
||||
sudo -u excalidraw cp .env.development .env.production
|
||||
|
||||
# Use documented port to get some sort of standarization.
|
||||
# Keep used replacement port to get some sort of standarization.
|
||||
if sed -n "/$EXCAL_MATCH1/,/});/p" "$EXCAL_PORT_FILE" |grep -q port: ; then
|
||||
echo "> Update predefined port for metrics to $EXCAL_NEW_PORT\n"
|
||||
echo "Update predefined port for metrics to $EXCAL_NEW_PORT"
|
||||
sed -i "/$EXCAL_MATCH1/,/});/s|port:.*,|port: $EXCAL_NEW_PORT,|" "$EXCAL_PORT_FILE"
|
||||
else
|
||||
echo "> Define new port from default to $EXCAL_NEW_PORT\n"
|
||||
echo "Define new port from default to $EXCAL_NEW_PORT"
|
||||
sed -i "/$EXCAL_MATCH1/a \ \ \ \ port: $EXCAL_NEW_PORT," "$EXCAL_PORT_FILE"
|
||||
fi
|
||||
|
||||
printf "\nInstalling npm backend.\n"
|
||||
sudo -u excalidraw npm install
|
||||
sudo -u excalidraw npm run build
|
||||
|
||||
#--------------------------------------------------
|
||||
print_title "Setup system & jitsi config files."
|
||||
#--------------------------------------------------
|
||||
# Enable websocket on nginx
|
||||
sed -i "/$WS_MATCH1/i \\\n" "$WS_CONF"
|
||||
sed -i "/$WS_MATCH1/i \ \ \ \ location = /socket.io/ {" "$WS_CONF"
|
||||
|
@ -123,9 +95,9 @@ sed -i "/$WS_MATCH1/i \ \ \ \ }" "$WS_CONF"
|
|||
sed -i "/$WS_MATCH1/i \\\n" "$WS_CONF"
|
||||
|
||||
if grep -rq room_metadata /etc/prosody/conf.d/ ;then
|
||||
echo "> Prosody seems to be already configured."
|
||||
echo "Prosody seems to be already configured."
|
||||
else
|
||||
echo "> Setting up prosody for whiteboard..."
|
||||
echo "Setting up prosody for whiteboard..."
|
||||
# Modules enabled
|
||||
sed -i "/$PROS_MATCH1/a \ \ \ \ \ \ \ \ \"room_metadata\";" "$PROSODY_FILE"
|
||||
# Define internal component
|
||||
|
@ -138,9 +110,9 @@ else
|
|||
sed -i "/$PROS_MATCH3/i \\\n" "$PROSODY_FILE"
|
||||
fi
|
||||
|
||||
echo "Checking for whitebord setup at $(basename "$MEET_CONF")."
|
||||
echo "Checking for $(basename "$MEET_CONF") setup."
|
||||
if [ -z "$(sed -n '/whiteboard: {/,/},/p' "$MEET_CONF")" ]; then
|
||||
echo "> No present configuration on current config.js file"
|
||||
echo "No present configuration on current config.js file"
|
||||
sed -i "/$CONFIG_MATCH1/i \\\n" "$MEET_CONF"
|
||||
sed -i "/$CONFIG_MATCH1/i \ \ \ \ whiteboard: {" "$MEET_CONF"
|
||||
sed -i "/$CONFIG_MATCH1/i \ \ \ \ \ \ \ \ enabled: true," "$MEET_CONF"
|
||||
|
@ -148,24 +120,24 @@ if [ -z "$(sed -n '/whiteboard: {/,/},/p' "$MEET_CONF")" ]; then
|
|||
sed -i "/$CONFIG_MATCH1/i \ \ \ \ }," "$MEET_CONF"
|
||||
sed -i "/$CONFIG_MATCH1/i \\\n" "$MEET_CONF"
|
||||
else
|
||||
echo "> Enabling configuration on current config.js file"
|
||||
echo "Enabling configuration on current config.js file"
|
||||
sed -i "/whiteboard: {/,/},/s|// ||" "$MEET_CONF"
|
||||
sed -i "/collabServerBaseUrl:/s|'https://.*'|'https://$DOMAIN'|" "$MEET_CONF"
|
||||
fi
|
||||
|
||||
if sed -n '/toolbarButtons: \[/,/\],/p' "$MEET_CONF" | \
|
||||
grep -v '//'| grep -q whiteboard ; then
|
||||
echo "> Whiteboard toolbar already enabled."
|
||||
echo "Whiteboard toolbar already enabled."
|
||||
elif sed -n '/toolbarButtons: \[/,/\],/p' "$MEET_CONF" | \
|
||||
grep -v '//'|grep -q toolbarButtons: ; then
|
||||
echo "> Enabling whiteboard toolbar."
|
||||
echo "Enabling whiteboard toolbar."
|
||||
sed -i "/toolbarButtons:/a \ \ \ \ \ \ \ 'whiteboard'," "$MEET_CONF"
|
||||
else
|
||||
echo "> ToolbarButtons not customized, whiteboard should be enabled by default,"
|
||||
echo " otherwise, please report to: https://forge.switnet.net/switnet/quick-jibri-installer/issues"
|
||||
echo "ToolbarButtons not customized, whiteboard should be enabled by default,"
|
||||
echo "otherwise, please report to: https://forge.switnet.net/switnet/quick-jibri-installer/issues"
|
||||
fi
|
||||
|
||||
printf "\n# Add systemd service\n"
|
||||
# Systemd service
|
||||
cat << EOF > /etc/systemd/system/excalidraw.service
|
||||
[Unit]
|
||||
Description=Excalidraw backend
|
||||
|
@ -186,4 +158,4 @@ EOF
|
|||
systemctl enable excalidraw.service
|
||||
systemctl start excalidraw.service
|
||||
|
||||
printwc "${Green}" "\nExcalidraw setup complete!\n"
|
||||
echo -e "\nExcalidraw installation/setup complete!\n"
|
||||
|
|
|
@ -144,7 +144,7 @@ printwc "${Blue}" "\n# $1"
|
|||
printwc "${Blue}" "\n#--------------------------------------------------\n"
|
||||
}
|
||||
clear
|
||||
printwc "${Green}" '
|
||||
printfwc "${Green}" '
|
||||
########################################################################
|
||||
Welcome to Jitsi/Jibri Installer
|
||||
########################################################################
|
||||
|
@ -243,8 +243,8 @@ If you plan to enable other components such as,
|
|||
- Grafana
|
||||
- Etherpad
|
||||
- Whiteboards
|
||||
- Connect additional Jibri Nodes
|
||||
- Others
|
||||
- additional Jibri Nodes
|
||||
- others.
|
||||
|
||||
>>> We highly recommend to increase resources of this server. <<<
|
||||
|
||||
|
|
Loading…
Reference in New Issue