Sonarr and Jacket
-
- OMV 2.x
- Pheoxy
-
-
You can use the same script of sonarr, copy it, and change all the references inside, leave the daemon user as sonarr, configs will be stored in /home/sonarr/.config/Jackett . Since jackett is in constant developement you add this at
DAEMON_OPTS="$EXENAME -l -t"
There are also several jackett docker images in the hub.
-
I've only just woken up, but can you enlighten me on what you mean by the sonarr script.
-
-
And install jacket the normal debian way before messing with the script though?
-
And install jacket the normal debian way before messing with the script though?
No, what debian way? jackett doesn't provide deb packages. I just unpack the Jackett zip in /opt/Jackett, same way is done with sonarr. The openmediavault plugin just automates the download of the zip.
-
Code
Alles anzeigen# startup args if [ -e "$APP_PATH/NzbDrone.exe" ]; then EXENAME="NzbDrone.exe" SONARR_PID=`ps auxf | grep NzbDrone.exe | grep -v grep | awk '{print $2}'` elif [ -e "$APP_PATH/Jackett.exe" ]; then EXENAME="Jackett.exe" SONARR_PID=`ps auxf | grep Sonarr.exe | grep -v grep | awk '{print $2}'` fi DAEMON_OPTS="$EXENAME -l -t"
Do I need to get rid of the NzbDrone.exe as shouldn't it already be getting started by sonarr?
Sorry, I mainly just tinker and use my googlefu. I rarely bother with this and just wanted to give it a try.
-
Code
Alles anzeigen#! /bin/sh ### BEGIN INIT INFO # Provides: Sonarr # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Should-Start: $NetworkManager # Should-Stop: $NetworkManager # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts instance of Jackett within Sonarr # Description: starts instance of Jackett within Sonarr using start-stop-daemon ### END INIT INFO ############### EDIT ME ################## # path to app APP_PATH=/opt/Jackett # user RUN_AS=sonarr # path to mono bin DAEMON=/usr/bin/mono # Path to store PID file PID_FILE=/var/run/jackett/jackett.pid PID_PATH=$(dirname $PID_FILE) # script name NAME=jackett # app name DESC=jackett # startup args if [ -e "$APP_PATH/NzbDrone.exe" ]; then EXENAME="NzbDrone.exe" SONARR_PID=`ps auxf | grep NzbDrone.exe | grep -v grep | awk '{print $2}'` elif [ -e "$APP_PATH/Jackett.exe" ]; then EXENAME="Jackett.exe" SONARR_PID=`ps auxf | grep Sonarr.exe | grep -v grep | awk '{print $2}'` fi DAEMON_OPTS="$EXENAME -l -t" ############### END EDIT ME ################## test -x $DAEMON || exit 0 set -e #Look for PID and create if doesn't exist if [ ! -d "$PID_PATH" ]; then mkdir -p $PID_PATH chown $RUN_AS $PID_PATH fi if [ -e "$PID_FILE" ]; then PID=`cat $PID_FILE` if ! kill -0 $PID > /dev/null 2>&1; then rm $PID_FILE fi echo $JACKETT_PID > $PID_FILE case "$1" in start) if [ -z "${JACKETT_PID}" ]; then echo "Starting $DESC" rm -rf $PID_PATH || return 1 install -d --mode=0755 -o $RUN_AS $PID_PATH || return 1 start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DA$ else echo "Jackett already running." fi ;; stop) echo "Stopping $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi ;; restart|force-reload) echo "Restarting $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON$ ;; status) # Use LSB function library if it exists if [ -f /lib/lsb/init-functions ]; then . /lib/lsb/init-functions if [ -e $PID_FILE ]; then status_of_proc -p $PID_FILE "$DAEMON" "$NAME" && exit 0 || exit $? else log_daemon_msg "$NAME is not running" exit 3 fi else # Use basic functions if [ -e $PID_FILE ]; then PID=`cat $PID_FILE` if kill -0 $PID > /dev/null 2>&1; then echo " * $NAME is running" exit 0 fi else echo " * $NAME is not running" exit 3 fi fi ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0
This is the full thing in /etc/init.d/jackett that I've change so far. -
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON$
and
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DA$Line are not complete, the $ at the end means you copied the line in a shell but the whole line was not displayed.
change
Code# startup args if [ -e "$APP_PATH/NzbDrone.exe" ]; then EXENAME="NzbDrone.exe" SONARR_PID=`ps auxf | grep NzbDrone.exe | grep -v grep | awk '{print $2}'` elif [ -e "$APP_PATH/Jackett.exe" ]; then EXENAME="Jackett.exe" SONARR_PID=`ps auxf | grep Sonarr.exe | grep -v grep | awk '{print $2}'` fi
to
I may in the future have a look at adding an option to auto install this via the plugin.
-
Correct, only in this case is JackettConsole.exe.
You can add this in the same sonarr plugin, don't think is necessary to create another plugin
-
Found a bit of free time so here's the proper one copied to a share in .txt form.
Code
Alles anzeigen#! /bin/sh ### BEGIN INIT INFO # Provides: Sonarr # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Should-Start: $NetworkManager # Should-Stop: $NetworkManager # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts instance of Jackett within Sonarr # Description: starts instance of Jackett within Sonarr using start-stop-daemon ### END INIT INFO ############### EDIT ME ################## # path to app APP_PATH=/opt/Jackett # user RUN_AS=sonarr # path to mono bin DAEMON=/usr/bin/mono # Path to store PID file PID_FILE=/var/run/jackett/jackett.pid PID_PATH=$(dirname $PID_FILE) # script name NAME=jackett # app name DESC=jackett # startup args EXENAME="JackettConsole.exe" DAEMON_OPTS="$EXENAME -l -t" ############### END EDIT ME ################## test -x $DAEMON || exit 0 set -e #Look for PID and create if doesn't exist if [ ! -d "$PID_PATH" ]; then mkdir -p $PID_PATH chown $RUN_AS $PID_PATH fi if [ -e "$PID_FILE" ]; then PID=`cat $PID_FILE` if ! kill -0 $PID > /dev/null 2>&1; then rm $PID_FILE fi fi echo $JACKETT_PID > $PID_FILE case "$1" in start) if [ -z "${JACKETT_PID}" ]; then echo "Starting $DESC" rm -rf $PID_PATH || return 1 install -d --mode=0755 -o $RUN_AS $PID_PATH || return 1 start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS else echo "Jackett already running." fi ;; stop) echo "Stopping $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi ;; restart|force-reload) echo "Restarting $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS ;; status) # Use LSB function library if it exists if [ -f /lib/lsb/init-functions ]; then . /lib/lsb/init-functions if [ -e $PID_FILE ]; then status_of_proc -p $PID_FILE "$DAEMON" "$NAME" && exit 0 || exit $? else log_daemon_msg "$NAME is not running" exit 3 fi else # Use basic functions if [ -e $PID_FILE ]; then PID=`cat $PID_FILE` if kill -0 $PID > /dev/null 2>&1; then echo " * $NAME is running" exit 0 fi else echo " * $NAME is not running" exit 3 fi fi ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0
-
Found a bit of free time so here's the proper one copied to a share in .txt form.
Code
Alles anzeigen#! /bin/sh ### BEGIN INIT INFO # Provides: Sonarr # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Should-Start: $NetworkManager # Should-Stop: $NetworkManager # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts instance of Jackett within Sonarr # Description: starts instance of Jackett within Sonarr using start-stop-daemon ### END INIT INFO ############### EDIT ME ################## # path to app APP_PATH=/opt/Jackett # user RUN_AS=sonarr # path to mono bin DAEMON=/usr/bin/mono # Path to store PID file PID_FILE=/var/run/jackett/jackett.pid PID_PATH=$(dirname $PID_FILE) # script name NAME=jackett # app name DESC=jackett # startup args EXENAME="JackettConsole.exe" DAEMON_OPTS="$EXENAME -l -t" ############### END EDIT ME ################## test -x $DAEMON || exit 0 set -e #Look for PID and create if doesn't exist if [ ! -d "$PID_PATH" ]; then mkdir -p $PID_PATH chown $RUN_AS $PID_PATH fi if [ -e "$PID_FILE" ]; then PID=`cat $PID_FILE` if ! kill -0 $PID > /dev/null 2>&1; then rm $PID_FILE fi fi echo $JACKETT_PID > $PID_FILE case "$1" in start) if [ -z "${JACKETT_PID}" ]; then echo "Starting $DESC" rm -rf $PID_PATH || return 1 install -d --mode=0755 -o $RUN_AS $PID_PATH || return 1 start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS else echo "Jackett already running." fi ;; stop) echo "Stopping $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi ;; restart|force-reload) echo "Restarting $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS ;; status) # Use LSB function library if it exists if [ -f /lib/lsb/init-functions ]; then . /lib/lsb/init-functions if [ -e $PID_FILE ]; then status_of_proc -p $PID_FILE "$DAEMON" "$NAME" && exit 0 || exit $? else log_daemon_msg "$NAME is not running" exit 3 fi else # Use basic functions if [ -e $PID_FILE ]; then PID=`cat $PID_FILE` if kill -0 $PID > /dev/null 2>&1; then echo " * $NAME is running" exit 0 fi else echo " * $NAME is not running" exit 3 fi fi ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0
Tried the provided init.d script but it had a pair of errors, which were easily fixed. Below is the init.d script that works for me:
Code
Alles anzeigen#! /bin/sh ### BEGIN INIT INFO # Provides: Jackett # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Should-Start: $NetworkManager # Should-Stop: $NetworkManager # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts instance of Jackett within Jackett # Description: starts instance of Jackett using start-stop-daemon ### END INIT INFO ############### EDIT ME ################## # path to app APP_PATH=/opt/jackett # user RUN_AS=sonarr # path to mono bin DAEMON=/usr/bin/mono # Path to store PID file PID_FILE=/var/run/jackett/jackett.pid PID_PATH=$(dirname $PID_FILE) # script name NAME=jackett # app name DESC=jackett # startup args EXENAME="JackettConsole.exe" DAEMON_OPTS="$EXENAME -l -t" ############### END EDIT ME ################## test -x $DAEMON || exit 0 set -e #Look for PID and create if doesn't exist if [ ! -d "$PID_PATH" ]; then mkdir -p $PID_PATH chown $RUN_AS $PID_PATH fi if [ -e "$PID_FILE" ]; then PID=`cat $PID_FILE` if ! kill -0 $PID > /dev/null 2>&1; then rm $PID_FILE fi fi echo $JACKETT_PID > $PID_FILE case "$1" in start) if [ -z "${JACKETT_PID}" ]; then echo "Starting $DESC" rm -rf $PID_PATH || return 1 install -d --mode=0755 -o $RUN_AS $PID_PATH || return 1 start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS else echo "Jackett already running." fi ;; stop) echo "Stopping $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi ;; restart|force-reload) echo "Restarting $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS ;; status) # Use LSB function library if it exists if [ -f /lib/lsb/init-functions ]; then . /lib/lsb/init-functions if [ -e $PID_FILE ]; then status_of_proc -p $PID_FILE "$DAEMON" "$NAME" && exit 0 || exit $? else log_daemon_msg "$NAME is not running" exit 3 fi else # Use basic functions if [ -e $PID_FILE ]; then PID=`cat $PID_FILE` if kill -0 $PID > /dev/null 2>&1; then echo " * $NAME is running" exit 0 fi else echo " * $NAME is not running" exit 3 fi fi ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0
-
Quote from Pheoxy: “Found a bit of free time so here's the proper one copied to a share in .txt form.(Hidden Content)”
Tried the provided init.d script but it had a pair of errors, which were easily fixed. Below is the init.d script that works for…
The only problem I had with the scripts on this page are they are missing
JACKETT_PID=`ps auxf | grep JackettConsole.exe | grep -v grep | awk '{print $2}'`
The scripts will work to start Jackett but you can't stop or get a status from them because the pid file is always empty as $JACKET_PID is never defined. Here's mine with the added pid. Assumes install in /opt/jackett and running as user sonarr.
Code
Alles anzeigen#! /bin/sh ### BEGIN INIT INFO # Provides: jackett # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Should-Start: $NetworkManager # Should-Stop: $NetworkManager # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts instance of Jackett within Jackett # Description: starts instance of Jackett using start-stop-daemon ### END INIT INFO ############### EDIT ME ################## # path to app APP_PATH=/opt/jackett # user RUN_AS=sonarr # path to mono bin DAEMON=/usr/bin/mono # Path to store PID file PID_FILE=/var/run/jackett/jackett.pid PID_PATH=$(dirname $PID_FILE) # script name NAME=jackett # app name DESC=jackett # startup args EXENAME="JackettConsole.exe" JACKETT_PID=`ps auxf | grep JackettConsole.exe | grep -v grep | awk '{print $2}'` DAEMON_OPTS="$EXENAME -l -t" ############### END EDIT ME ################## test -x $DAEMON || exit 0 set -e #Look for PID and create if doesn't exist if [ ! -d "$PID_PATH" ]; then mkdir -p $PID_PATH chown $RUN_AS $PID_PATH fi if [ -e "$PID_FILE" ]; then PID=`cat $PID_FILE` if ! kill -0 $PID > /dev/null 2>&1; then rm $PID_FILE fi fi echo $JACKETT_PID > $PID_FILE case "$1" in start) if [ -z "${JACKETT_PID}" ]; then echo "Starting $DESC" rm -rf $PID_PATH || return 1 install -d --mode=0755 -o $RUN_AS $PID_PATH || return 1 start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS else echo "Jackett already running." fi ;; stop) echo "Stopping $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi ;; restart|force-reload) echo "Restarting $DESC" if [ ! -z "${JACKETT_PID}" ]; then start-stop-daemon --stop --pidfile $PID_FILE --retry 15 fi start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS ;; status) # Use LSB function library if it exists if [ -f /lib/lsb/init-functions ]; then . /lib/lsb/init-functions if [ -e $PID_FILE ]; then status_of_proc -p $PID_FILE "$DAEMON" "$NAME" && exit 0 || exit $? else log_daemon_msg "$NAME is not running" exit 3 fi else # Use basic functions if [ -e $PID_FILE ]; then PID=`cat $PID_FILE` if kill -0 $PID > /dev/null 2>&1; then echo " * $NAME is running" exit 0 fi else echo " * $NAME is not running" exit 3 fi fi ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!