#!/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 JELLYFIN_HOME="/etc/default/jellyfin" 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_HOME --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_HOME --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