63 lines
1.7 KiB
Bash
63 lines
1.7 KiB
Bash
#!/bin/sh
|
|
### BEGIN INIT INFO
|
|
# Provides: Jellyfin Media Server
|
|
# Required-Start: $local_fs $network
|
|
# Required-Stop: $local_fs
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: Jellyfin Media Server
|
|
# Description: Runs Jellyfin Server
|
|
### END INIT INFO
|
|
|
|
set -e
|
|
|
|
# Carry out specific functions when asked to by the system
|
|
|
|
if test -f /etc/default/jellyfin; then
|
|
. /etc/default/jellyfin
|
|
fi
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
PIDFILE="/run/jellyfin.pid"
|
|
|
|
case "$1" in
|
|
start)
|
|
log_daemon_msg "Starting Jellyfin Media Server" "jellyfin" || true
|
|
|
|
if start-stop-daemon --start --quiet --oknodo --background --chdir $JELLYFIN_DATA_DIR --pidfile $PIDFILE --make-pidfile --user $JELLYFIN_USER --chuid $JELLYFIN_USER --exec /usr/bin/jellyfin -- $JELLYFIN_ARGS; then
|
|
log_end_msg 0 || true
|
|
else
|
|
log_end_msg 1 || true
|
|
fi
|
|
;;
|
|
|
|
stop)
|
|
log_daemon_msg "Stopping Jellyfin Media Server" "jellyfin" || true
|
|
if start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --remove-pidfile; then
|
|
log_end_msg 0 || true
|
|
else
|
|
log_end_msg 1 || true
|
|
fi
|
|
;;
|
|
|
|
restart)
|
|
log_daemon_msg "Restarting Jellyfin Media Server" "jellyfin" || true
|
|
start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE --remove-pidfile
|
|
if start-stop-daemon --start --quiet --oknodo --background --chdir $JELLYFIN_DATA_DIR --pidfile $PIDFILE --make-pidfile --user $JELLYFIN_USER --chuid $JELLYFIN_USER --exec /usr/bin/jellyfin -- $JELLYFIN_ARGS; then
|
|
log_end_msg 0 || true
|
|
else
|
|
log_end_msg 1 || true
|
|
fi
|
|
;;
|
|
|
|
status)
|
|
status_of_proc -p $PIDFILE /usr/bin/jellyfin jellyfin && exit 0 || exit $?
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: $0 {start|stop|restart|status}"
|
|
exit 1
|
|
;;
|
|
esac
|