2021-08-13 18:53:18 +08:00
#!/bin/bash -e
source /etc/lsb-release
case " $1 " in
configure| upgrade| 1| 2)
SOURCE = /tmp/bbb-webrtc-sfu-default.yml
TARGET = /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml
cp /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.example.yml $TARGET
chown bigbluebutton:bigbluebutton $TARGET
yq w -i $TARGET kurento[ 0] .ip " $IP "
# https://github.com/bigbluebutton/bbb-webrtc-sfu/pull/37
# yq w -i $TARGET kurento[0].url "ws://$SERVER_URL:8888/kurento"
2021-10-13 21:38:27 +08:00
# Set mediasoup IPs
yq w -i $TARGET mediasoup.webrtc.listenIps[ 0] .announcedIp " $IP "
yq w -i $TARGET mediasoup.plainRtp.listenIp.announcedIp " $IP "
2021-08-13 18:53:18 +08:00
FREESWITCH_IP = $( xmlstarlet sel -t -v '//X-PRE-PROCESS[@cmd="set" and starts-with(@data, "local_ip_v4=")]/@data' /opt/freeswitch/conf/vars.xml | sed 's/local_ip_v4=//g' )
if [ " $FREESWITCH_IP " != "" ] ; then
yq w -i $TARGET freeswitch.ip $FREESWITCH_IP
# if [ "$DISTRIB_RELEASE" == "18.04" ]; then
yq w -i $TARGET freeswitch.sip_ip $FREESWITCH_IP
# fi
else
# Looks like the FreeSWITCH package is being installed, let's fall back to the default value
yq w -i $TARGET freeswitch.ip $IP
if [ " $DISTRIB_RELEASE " = = "18.04" ] ; then
yq w -i $TARGET freeswitch.sip_ip $IP
fi
fi
cd /usr/local/bigbluebutton/bbb-webrtc-sfu
mkdir -p node_modules
# there's a problem rebuilding bufferutil
# do not abort in case npm rebuild return something different than 0
npm config set unsafe-perm true
npm rebuild || true
mkdir -p /var/log/bbb-webrtc-sfu/
touch /var/log/bbb-webrtc-sfu/bbb-webrtc-sfu.log
yq w -i $TARGET recordWebcams true
if id bigbluebutton > /dev/null 2>& 1 ; then
chown -R bigbluebutton:bigbluebutton /usr/local/bigbluebutton/bbb-webrtc-sfu /var/log/bbb-webrtc-sfu/
else
echo "#"
echo "# Warning: Unable to assign ownership of bigbluebutton to kurento files"
echo "#"
fi
# Fix processes so it has the new process
# PROCESSES=$(yq r $TARGET processes | wc -l)
# if [ "$PROCESSES" == 4 ]; then
# yq w -i $TARGET processes[4].path './lib/mcs-core/process.js'
# fi
# COMMENTING OUT DUE TO DUPLICATION
# cd /usr/local/bigbluebutton/bbb-webrtc-sfu
# mkdir -p node_modules
# # there's a problem rebuilding bufferutil
# # do not abort in case npm rebuild return something different than 0
# npm config set unsafe-perm true
# npm rebuild || true
# mkdir -p /var/log/bbb-webrtc-sfu/
# touch /var/log/bbb-webrtc-sfu/bbb-webrtc-sfu.log
# yq w -i $TARGET recordWebcams true
# if id bigbluebutton > /dev/null 2>&1 ; then
# chown -R bigbluebutton:bigbluebutton /usr/local/bigbluebutton/bbb-webrtc-sfu /var/log/bbb-webrtc-sfu/
# else
# echo "#"
# echo "# Warning: Unable to assign ownership of bigbluebutton to kurento files"
# echo "#"
# fi
# Create a symbolic link from /var/kurento -> /var/lib/kurento if needed
if [ ! -d /var/kurento ] ; then
if [ -d /var/lib/kurento ] ; then
ln -s /var/lib/kurento /var/kurento
fi
fi
chmod 644 $TARGET
chown bigbluebutton:bigbluebutton $TARGET
if [ ! -d /var/log/kurento-media-server ] ; then
mkdir -p /var/log/kurento-media-server
fi
chown kurento:root /var/log/kurento-media-server
# Ensure a default port range is setup
if ! grep -v '^;' /etc/kurento/modules/kurento/BaseRtpEndpoint.conf.ini | grep -q minPort; then
cat >> /etc/kurento/modules/kurento/BaseRtpEndpoint.conf.ini << HERE
# Added by bbb-webrtc-sfu.postinst $(date)
minPort = 24577
maxPort = 32768
HERE
fi
# Check if using Kurento packages with bionic
reloadService nginx
startService bbb-webrtc-sfu || echo "bbb-webrtc-sfu could not be registered or started"
startService kurento-media-server || echo "kurento-media-serve could not be registered or started"
; ;
abort-upgrade| abort-remove| abort-deconfigure)
; ;
*)
echo " postinst called with unknown argument \` $1 ' " >& 2
exit 1
; ;
esac