forked from switnet/quick-jibri-installer
commit
1b5f990c59
|
@ -44,10 +44,10 @@ JB_AUTH_PASS=TBD
|
||||||
JB_REC_PASS=TBD
|
JB_REC_PASS=TBD
|
||||||
MJS_USER=TBD
|
MJS_USER=TBD
|
||||||
MJS_USER_PASS=TBD
|
MJS_USER_PASS=TBD
|
||||||
|
JIBRI_RES_CONF=TBD
|
||||||
|
JIBRI_RES_XORG_CONF=TBD
|
||||||
THIS_SRV_DIST=$(lsb_release -sc)
|
THIS_SRV_DIST=$(lsb_release -sc)
|
||||||
JITSI_REPO=$(apt-cache policy | awk '/jitsi/&&/stable/{print$3}' | awk -F / 'NR==1{print$1}')
|
JITSI_REPO=$(apt-cache policy | awk '/jitsi/&&/stable/{print$3}' | awk -F / 'NR==1{print$1}')
|
||||||
START=0
|
|
||||||
LAST=TBD
|
|
||||||
JIBRI_CONF="/etc/jitsi/jibri/jibri.conf"
|
JIBRI_CONF="/etc/jitsi/jibri/jibri.conf"
|
||||||
DIR_RECORD="/var/jbrecord"
|
DIR_RECORD="/var/jbrecord"
|
||||||
REC_DIR="/home/jibri/finalize_recording.sh"
|
REC_DIR="/home/jibri/finalize_recording.sh"
|
||||||
|
@ -63,6 +63,7 @@ GITHUB_RAW="https://raw.githubusercontent.com"
|
||||||
GIT_REPO="switnet-ltd/quick-jibri-installer"
|
GIT_REPO="switnet-ltd/quick-jibri-installer"
|
||||||
TEST_JIBRI_ENV="$GITHUB_RAW/$GIT_REPO/unstable/tools/test-jibri-env.sh"
|
TEST_JIBRI_ENV="$GITHUB_RAW/$GIT_REPO/unstable/tools/test-jibri-env.sh"
|
||||||
SHORT_ID="$(awk '{print substr($0,0,7)}' /etc/machine-id)"
|
SHORT_ID="$(awk '{print substr($0,0,7)}' /etc/machine-id)"
|
||||||
|
JIBRI_XORG_CONF="/etc/jitsi/jibri/xorg-video-dummy.conf"
|
||||||
### 1_VAR_DEF
|
### 1_VAR_DEF
|
||||||
|
|
||||||
# sed limiters for add-jibri-node.sh variables
|
# sed limiters for add-jibri-node.sh variables
|
||||||
|
@ -96,7 +97,9 @@ JMS_DATA=($MAIN_SRV_DIST \
|
||||||
$JB_AUTH_PASS \
|
$JB_AUTH_PASS \
|
||||||
$JB_REC_PASS \
|
$JB_REC_PASS \
|
||||||
$MJS_USER \
|
$MJS_USER \
|
||||||
$MJS_USER_PASS)
|
$MJS_USER_PASS \
|
||||||
|
$JIBRI_RES_CONF \
|
||||||
|
$JIBRI_RES_XORG_CONF)
|
||||||
|
|
||||||
JMS_EVAL=${JMS_DATA[0]}
|
JMS_EVAL=${JMS_DATA[0]}
|
||||||
for i in "${JMS_DATA[@]}"; do
|
for i in "${JMS_DATA[@]}"; do
|
||||||
|
@ -124,6 +127,8 @@ check_var JB_AUTH_PASS "$JB_AUTH_PASS"
|
||||||
check_var JB_REC_PASS "$JB_REC_PASS"
|
check_var JB_REC_PASS "$JB_REC_PASS"
|
||||||
check_var MJS_USER "$MJS_USER"
|
check_var MJS_USER "$MJS_USER"
|
||||||
check_var MJS_USER_PASS "$MJS_USER_PASS"
|
check_var MJS_USER_PASS "$MJS_USER_PASS"
|
||||||
|
check_var JIBRI_RES_CONF "$JIBRI_RES_CONF"
|
||||||
|
check_var JIBRI_RES_XORG_CONF "$JIBRI_RES_XORG_CONF"
|
||||||
|
|
||||||
#Check server and node OS
|
#Check server and node OS
|
||||||
if [ ! "$THIS_SRV_DIST" = "$MAIN_SRV_DIST" ]; then
|
if [ ! "$THIS_SRV_DIST" = "$MAIN_SRV_DIST" ]; then
|
||||||
|
@ -354,7 +359,7 @@ jibri {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
ffmpeg {
|
ffmpeg {
|
||||||
resolution = "1920x1080"
|
resolution = "$JIBRI_RES_CONF"
|
||||||
}
|
}
|
||||||
chrome {
|
chrome {
|
||||||
// The flags which will be passed to chromium when launching
|
// The flags which will be passed to chromium when launching
|
||||||
|
@ -453,6 +458,9 @@ jibri {
|
||||||
}
|
}
|
||||||
NEW_CONF
|
NEW_CONF
|
||||||
|
|
||||||
|
#Jibri xorg resolution
|
||||||
|
sed -i "s|[[:space:]]Virtual .*|Virtual $JIBRI_RES_XORG_CONF|" $JIBRI_XORG_CONF
|
||||||
|
|
||||||
echo -e "\n---- Create random nodesync user ----"
|
echo -e "\n---- Create random nodesync user ----"
|
||||||
useradd -m -g jibri $NJN_USER
|
useradd -m -g jibri $NJN_USER
|
||||||
echo "$NJN_USER:$NJN_USER_PASS" | chpasswd
|
echo "$NJN_USER:$NJN_USER_PASS" | chpasswd
|
||||||
|
|
|
@ -250,7 +250,8 @@ So you can add a Jibri server on a instance with enough resources.\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#Check system oriented porpuse
|
#Check system oriented porpuse
|
||||||
echo "Checking system oriented purpose...."
|
echo "Checking system oriented purpose....
|
||||||
|
"
|
||||||
apt-get -yq2 update
|
apt-get -yq2 update
|
||||||
SYSTEM_DE="$(apt-cache search "ubuntu-(desktop|mate-desktop)"|awk '{print$1}'|xargs|sed 's|$| trisquel triskel trisquel-mini|')"
|
SYSTEM_DE="$(apt-cache search "ubuntu-(desktop|mate-desktop)"|awk '{print$1}'|xargs|sed 's|$| trisquel triskel trisquel-mini|')"
|
||||||
SYSTEM_DE_ARRAY=( $SYSTEM_DE )
|
SYSTEM_DE_ARRAY=( $SYSTEM_DE )
|
||||||
|
@ -262,7 +263,7 @@ do
|
||||||
This is an unsupported use, as it will likely BREAK YOUR SYSTEM, so please don't."
|
This is an unsupported use, as it will likely BREAK YOUR SYSTEM, so please don't."
|
||||||
exit
|
exit
|
||||||
else
|
else
|
||||||
echo -e "\n > No standard desktop environment for user oriented porpuse detected, continuing..."
|
echo -e " > No standard desktop environment '$de' for user oriented porpuse detected, continuing...\n"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -471,6 +472,7 @@ MJS_RAND_TAIL="$(tr -dc "a-zA-Z0-9" < /dev/urandom | fold -w 4 | head -n1)"
|
||||||
MJS_USER="jbsync_$MJS_RAND_TAIL"
|
MJS_USER="jbsync_$MJS_RAND_TAIL"
|
||||||
MJS_USER_PASS="$(tr -dc "a-zA-Z0-9#_*=" < /dev/urandom | fold -w 32 | head -n1)"
|
MJS_USER_PASS="$(tr -dc "a-zA-Z0-9#_*=" < /dev/urandom | fold -w 32 | head -n1)"
|
||||||
FQDN_HOST="fqdn"
|
FQDN_HOST="fqdn"
|
||||||
|
JIBRI_XORG_CONF="/etc/jitsi/jibri/xorg-video-dummy.conf"
|
||||||
|
|
||||||
# Rename hostname for jitsi server
|
# Rename hostname for jitsi server
|
||||||
while [[ "$FQDN_HOST" != "yes" && "$FQDN_HOST" != "no" && ! -z "$FQDN_HOST" ]]
|
while [[ "$FQDN_HOST" != "yes" && "$FQDN_HOST" != "no" && ! -z "$FQDN_HOST" ]]
|
||||||
|
@ -573,6 +575,7 @@ do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Set authentication method
|
||||||
echo "
|
echo "
|
||||||
> Jitsi Meet Auth Method selection.
|
> Jitsi Meet Auth Method selection.
|
||||||
"
|
"
|
||||||
|
@ -599,6 +602,39 @@ do
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Set jibris default resolution
|
||||||
|
echo "
|
||||||
|
> What jibri resolution should be the default for this and all the following jibri nodes?
|
||||||
|
"
|
||||||
|
PS3='The more resolution the more resources jibri will require to record properly: '
|
||||||
|
jib_res=("HD 720" "FHD 1080")
|
||||||
|
select res in "${jib_res[@]}"
|
||||||
|
do
|
||||||
|
case $res in
|
||||||
|
"HD 720")
|
||||||
|
echo -e "\n > HD (1280x720) is good enough for most cases, and requires a moderate high hw requirements.\n"
|
||||||
|
JIBRI_RES="720"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
"FHD 1080")
|
||||||
|
echo -e "\n > Full HD (1920x1080) is the best resolution available, it also requires high hw requirements.\n"
|
||||||
|
JIBRI_RES="1080"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*) echo "Invalid option «$REPLY», choose 1 or 2";;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$JIBRI_RES" = "720" ]; then
|
||||||
|
JIBRI_RES_CONF="\"1280x720\""
|
||||||
|
JIBRI_RES_XORG_CONF="1280 720"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$JIBRI_RES" = "1080" ]; then
|
||||||
|
JIBRI_RES_CONF="\"1920x1080\""
|
||||||
|
JIBRI_RES_XORG_CONF="1920 1080"
|
||||||
|
fi
|
||||||
|
|
||||||
#Jibri Records Access (JRA) via Nextcloud
|
#Jibri Records Access (JRA) via Nextcloud
|
||||||
while [[ "$ENABLE_NC_ACCESS" != "yes" && "$ENABLE_NC_ACCESS" != "no" ]]
|
while [[ "$ENABLE_NC_ACCESS" != "yes" && "$ENABLE_NC_ACCESS" != "no" ]]
|
||||||
do
|
do
|
||||||
|
@ -848,7 +884,7 @@ jibri {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
ffmpeg {
|
ffmpeg {
|
||||||
resolution = "1920x1080"
|
resolution = $JIBRI_RES_CONF
|
||||||
}
|
}
|
||||||
chrome {
|
chrome {
|
||||||
// The flags which will be passed to chromium when launching
|
// The flags which will be passed to chromium when launching
|
||||||
|
@ -946,6 +982,10 @@ jibri {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
NEW_CONF
|
NEW_CONF
|
||||||
|
|
||||||
|
#Jibri xorg resolution
|
||||||
|
sed -i "s|[[:space:]]Virtual .*|Virtual $JIBRI_RES_XORG_CONF|" $JIBRI_XORG_CONF
|
||||||
|
|
||||||
#Create receiver user
|
#Create receiver user
|
||||||
useradd -m -g jibri $MJS_USER
|
useradd -m -g jibri $MJS_USER
|
||||||
echo "$MJS_USER:$MJS_USER_PASS" | chpasswd
|
echo "$MJS_USER:$MJS_USER_PASS" | chpasswd
|
||||||
|
@ -966,6 +1006,8 @@ sed -i "s|JB_AUTH_PASS=.*|JB_AUTH_PASS=\"$JB_AUTH_PASS\"|" add-jibri-node.sh
|
||||||
sed -i "s|JB_REC_PASS=.*|JB_REC_PASS=\"$JB_REC_PASS\"|" add-jibri-node.sh
|
sed -i "s|JB_REC_PASS=.*|JB_REC_PASS=\"$JB_REC_PASS\"|" add-jibri-node.sh
|
||||||
sed -i "s|MJS_USER=.*|MJS_USER=\"$MJS_USER\"|" add-jibri-node.sh
|
sed -i "s|MJS_USER=.*|MJS_USER=\"$MJS_USER\"|" add-jibri-node.sh
|
||||||
sed -i "s|MJS_USER_PASS=.*|MJS_USER_PASS=\"$MJS_USER_PASS\"|" add-jibri-node.sh
|
sed -i "s|MJS_USER_PASS=.*|MJS_USER_PASS=\"$MJS_USER_PASS\"|" add-jibri-node.sh
|
||||||
|
sed -i "s|JIBRI_RES_CONF=.*|JIBRI_RES_CONF=\"$JIBRI_RES_CONF\"|" add-jibri-node.sh
|
||||||
|
sed -i "s|JIBRI_RES_XORG_CONF=.*|JIBRI_RES_XORG_CONF=\"$JIBRI_RES_XORG_CONF\"|" add-jibri-node.sh
|
||||||
sed -i "$(var_dlim 0_LAST),$(var_dlim 1_LAST){s|LETS: .*|LETS: $(date -R)|}" add-jibri-node.sh
|
sed -i "$(var_dlim 0_LAST),$(var_dlim 1_LAST){s|LETS: .*|LETS: $(date -R)|}" add-jibri-node.sh
|
||||||
echo "Last file edition at: $(grep "LETS:" add-jibri-node.sh|head -n1|awk -F'LETS:' '{print$2}')"
|
echo "Last file edition at: $(grep "LETS:" add-jibri-node.sh|head -n1|awk -F'LETS:' '{print$2}')"
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,7 @@ echo -e '
|
||||||
\n'
|
\n'
|
||||||
|
|
||||||
SYNC_USER="$(ls /home|awk '/jbsync/{print}')"
|
SYNC_USER="$(ls /home|awk '/jbsync/{print}')"
|
||||||
|
DOMAIN="$(ls /etc/prosody/conf.d/ | awk -F'.cfg' '!/localhost/{print $1}' | awk '!NF || !seen[$0]++')"
|
||||||
|
|
||||||
echo "We are about to remove and clean all the jitsi-meet platform bits and pieces...
|
echo "We are about to remove and clean all the jitsi-meet platform bits and pieces...
|
||||||
Please make sure you have backed up anything you don't want to loose."
|
Please make sure you have backed up anything you don't want to loose."
|
||||||
|
@ -95,6 +96,10 @@ apt-get -y purge jibri \
|
||||||
jitsi-videobridge2 \
|
jitsi-videobridge2 \
|
||||||
prosody
|
prosody
|
||||||
|
|
||||||
|
#Chome related packages
|
||||||
|
apt-get -y purge google-chrome-stable
|
||||||
|
rm /usr/local/bin/chromedriver
|
||||||
|
|
||||||
#Services stop
|
#Services stop
|
||||||
remove_services jibri
|
remove_services jibri
|
||||||
remove_services jibri-icewm
|
remove_services jibri-icewm
|
||||||
|
@ -110,6 +115,9 @@ remove_residuals /opt/jitsi
|
||||||
remove_residuals /usr/share/jicofo
|
remove_residuals /usr/share/jicofo
|
||||||
remove_residuals /usr/share/jitsi-*
|
remove_residuals /usr/share/jitsi-*
|
||||||
|
|
||||||
|
#Clean /etc/hosts
|
||||||
|
sed -i "/$DOMAIN/d" /etc/hosts
|
||||||
|
|
||||||
#Purging debconf db
|
#Purging debconf db
|
||||||
purge_debconf jicofo
|
purge_debconf jicofo
|
||||||
purge_debconf jigasi
|
purge_debconf jigasi
|
||||||
|
|
Loading…
Reference in New Issue