Files
upstream-jitsi-videobridge/debian/init.d
upstream-mirror e1257b7a05
Some checks failed
Java CI with Maven / Java 17 (push) Failing after 7m2s
Java CI with Maven / Java 21 (push) Failing after 5m0s
snapshot of https://github.com/jitsi/jitsi-videobridge.git @ fcbf741c646bc237d2ed85a1e86910532532b831 (2026-09-15)
2026-09-15 16:12:38 +05:00

119 lines
2.6 KiB
Bash

#! /bin/sh
#
# INIT script for Jitsi Videobridge
# Version: 1.0 01-May-2014 yasen@bluejimp.com
#
### BEGIN INIT INFO
# Provides: jitsi-videobridge
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Jitsi Videobridge
# Description: WebRTC compatible Selective Forwarding Unit (SFU)
### END INIT INFO
. /lib/lsb/init-functions
# Include videobridge defaults if available
if [ -f /etc/jitsi/videobridge/config ]; then
. /etc/jitsi/videobridge/config
fi
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/share/jitsi-videobridge/jvb.sh
NAME=jvb
USER=jvb
# A tmpfs backed directory just for the JVB process. This is introduced
# to hold packet arrival times, but it may be otherwise useful in the future.
TMPPATH=/var/run/jitsi-videobridge
PIDFILE=/var/run/jitsi-videobridge.pid
LOGFILE=/var/log/jitsi/jvb.log
DESC=jitsi-videobridge
if [ ! -d "$TMPPATH" ]; then
mkdir "$TMPPATH"
chown $USER:adm "$TMPPATH"
fi
if [ ! $JVB_HOST ]; then
JVB_HOST=localhost
fi
# TODO: remove this when support for --apis is removed
DAEMON_OPTS="$JVB_OPTS"
if [ ! -x $DAEMON ] ;then
echo "Daemon not executable: $DAEMON"
exit 1
fi
set -e
stop() {
if [ -f $PIDFILE ]; then
PID=$(cat $PIDFILE)
fi
echo -n "Stopping $DESC: "
if [ $PID ]; then
kill $PID || true
rm $PIDFILE || true
echo "$NAME stopped."
else
echo "$NAME doesn't seem to be running."
fi
}
start() {
if [ -f $PIDFILE ]; then
echo "$DESC seems to be already running, we found pidfile $PIDFILE."
exit 1
fi
echo -n "Starting $DESC: "
DAEMON_START_CMD="JAVA_SYS_PROPS=\"$JAVA_SYS_PROPS\" exec $DAEMON $DAEMON_OPTS < /dev/null >> $LOGFILE 2>&1"
AUTHBIND_CMD=""
if [ "$AUTHBIND" = "yes" ]; then
AUTHBIND_CMD="/usr/bin/authbind --deep /bin/bash -c "
DAEMON_START_CMD="'$DAEMON_START_CMD'"
fi
start-stop-daemon --start --quiet --background --chuid $USER --make-pidfile --pidfile $PIDFILE \
--exec /bin/bash -- -c "$AUTHBIND_CMD $DAEMON_START_CMD"
echo "$NAME started."
}
reload() {
echo 'Not yet implemented.'
}
status() {
status_of_proc -p $PIDFILE java "$NAME" && exit 0 || exit $?
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
force-reload)
reload
;;
status)
status
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|reload|status}" >&2
exit 1
;;
esac
exit 0