jellyfin.init 1.6 KB

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