Jackett lets you use many torrent providers with Sonarr or CouchPotato by enabling your home media server to act as Torznab API server. Jackett enables popular torrent providers to be searched using Sonarr and CouchPotato, the list of compatible providers can be found here.
This guide will walk you through installing and autostarting Jackett on the Raspberry Pi. If you are looking to add your custom Torznab providers in Sonarr, there is a guide for that, the CouchPotato equivalent will follow. I will assume you already have Sonarr installed and therefore the required mono packages that Jackett also uses. The guide was tested on Minibian Wheezy and Jessie but will work on Raspbian too.
| VPN Service | ||||
|---|---|---|---|---|
| Private Internet Access | ($3.33 / month) | |||
| Pure VPN | ($4.91 / month) | |||
| IPVanish | ($6.41 / month) |
If you are trying to figure out which hardware would work best for you, consider reading the Pi benchmarks.
Install Jackett on Raspberry Pi for Custom Torrents in Sonarr
Install libcurl and bzip to decompress Jackett
sudo apt-get install libcurl4-openssl-dev bzip2 -yDownload the latest Jackett release, I have automated grabbing the newest release but if it doesn't work check here or here to get the URL.
Note the Jackett that supports public trackers is here
jackettver=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep -E \/tag\/ | awk -F "[><]" '{print $3}')
wget -q https://github.com/Jackett/Jackett/releases/download/$jackettver/Jackett.Binaries.Mono.tar.gzUnpack the Jackett release (adjust the filename if you downloaded a newer version)
tar -xvf Jackett*Make the Jackett installation folder
sudo mkdir /opt/jackettMove the unzipped Jackett installation
sudo mv Jackett/* /opt/jackettChange ownership of Jackett to your main user
sudo chown -R pi:pi /opt/jackettTest running Jackett which runs on port 9117 http://ip.address:9117
mono /opt/jackett/JackettConsole.exeKill the Jackett process with Ctrl+C so we can start it automatically on boot using an init.d script
Autostart Jackett on Raspberry Pi
You only need to use the init.d script or the upstart script or the systemd script
This command will tell you which startup type you are using, if you see systemd use systemd, for anything else use the init.d script
sudo stat /proc/1/exeJackett init.d Script
Create the Jackett init.d startup script
sudo nano /etc/init.d/jackettPaste the Jackett init.d script (thank you Wesley), adjust your RUN_AS value to your main user
#! /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
# Description: starts instance of Jackett using start-stop-daemon
### END INIT INFO
############### EDIT ME ##################
# path to app
APP_PATH=/opt/jackett
# user
RUN_AS=pi
# path to mono bin
DAEMON=$(which mono)
# Path to store PID file
PID_FILE=/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
############### END EDIT ME ##################
JACKETT_PID=`ps auxf | grep $EXENAME | grep -v grep | awk '{print $2}'`
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 [ ! -d $DATA_DIR ]; then
mkdir -p $DATA_DIR
chown $RUN_AS $DATA_DIR
fi
if [ -e $PID_FILE ]; then
PID=`cat $PID_FILE`
if ! kill -0 $PID > /dev/null 2>&1; then
echo "Removing stale $PID_FILE"
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"
echo $JACKETT_PID > $PID_FILE
start-stop-daemon --stop --pidfile $PID_FILE --retry 15
;;
restart|force-reload)
echo "Restarting $DESC"
start-stop-daemon --stop --pidfile $PID_FILE --retry 15
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 0Make the Jackett init.d script executable
sudo chmod +x /etc/init.d/jackettUpdate your system to use the Jackett init.d script
sudo update-rc.d jackett defaultsNow start the Jackett service
sudo service jackett startJackett Systemd Script
Create the Jacket systemd service
nano /etc/systemd/system/jackett.servicePaste the Jackett systemd script, double check your mono path by running which mono and make sure it matches the path in ExecStart
[Unit]
Description=Jackett Daemon
After=network.target
[Service]
User=pi
Restart=always
RestartSec=5
Type=simple
ExecStart=/usr/local/bin/mono --debug /opt/jackett/JackettConsole.exe
TimeoutStopSec=20
[Install]
WantedBy=multi-user.targetEnable the Jackett systemd script
sudo systemctl enable jackettStart the Jackett systemd script
sudo service jackett startYou can access Jackett on port 9117. Follow the Jackett configuration guide so you can add custom torrents in Sonarr.