jellyfin.init 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. ### BEGIN INIT INFO
  2. # Provides: Jellyfin Media Server
  3. # Required-Start: $local_fs $network
  4. # Required-Stop: $local_fs
  5. # Default-Start: 2 3 4 5
  6. # Default-Stop: 0 1 6
  7. # Short-Description: Jellyfin Media Server
  8. # Description: Runs Jellyfin Server
  9. ### END INIT INFO
  10. set -e
  11. # Carry out specific functions when asked to by the system
  12. if test -f /etc/default/jellyfin; then
  13. . /etc/default/jellyfin
  14. fi
  15. . /lib/lsb/init-functions
  16. PIDFILE="/run/jellyfin.pid"
  17. case "$1" in
  18. start)
  19. log_daemon_msg "Starting Jellyfin Media Server" "jellyfin" || true
  20. if start-stop-daemon --start --quiet --oknodo --background --pidfile $PIDFILE --make-pidfile --user $JELLYFIN_USER --chuid $JELLYFIN_USER --exec /usr/bin/jellyfin -- $JELLYFIN_ARGS; then
  21. log_end_msg 0 || true
  22. else
  23. log_end_msg 1 || true
  24. fi
  25. ;;
  26. stop)
  27. log_daemon_msg "Stopping Jellyfin Media Server" "jellyfin" || true
  28. if start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --remove-pidfile; then
  29. log_end_msg 0 || true
  30. else
  31. log_end_msg 1 || true
  32. fi
  33. ;;
  34. restart)
  35. log_daemon_msg "Restarting Jellyfin Media Server" "jellyfin" || true
  36. start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE --remove-pidfile
  37. if start-stop-daemon --start --quiet --oknodo --background --pidfile $PIDFILE --make-pidfile --user $JELLYFIN_USER --chuid $JELLYFIN_USER --exec /usr/bin/jellyfin -- $JELLYFIN_ARGS; then
  38. log_end_msg 0 || true
  39. else
  40. log_end_msg 1 || true
  41. fi
  42. ;;
  43. status)
  44. status_of_proc -p $PIDFILE /usr/bin/jellyfin jellyfin && exit 0 || exit $?
  45. ;;
  46. *)
  47. echo "Usage: $0 {start|stop|restart|status}"
  48. exit 1
  49. ;;
  50. esac