SickRage

This article will show you how to install SickRage and configure it to be used with different torrent clients. SickRage is an automatic Video Library Manager for TV Shows.

You'll need to execute some commands via SSH to use this software. There is a separate guide on how to connect to your slot via SSH. Commands are kept as simple as possible and in most cases will simply need to be copied and pasted into the terminal window (then executed by pressing the Enter key).

Installation

Install SickRage by logging in via SSH, then copying and pasting the following:

git clone https://git.sickrage.ca/SiCKRAGE/sickrage ~/.sickrage

Installation notes

Cloning from the new repo (git.sickrage.ca) may go slowly for you - please let the process complete.

Proxypass

By default, you will access the software in your browser by using the URL with a port number. If you consider the URL without a port number to be neater, you will need to configure a proxypass.

Updating Unrar

SickRage needs an updated version of Unrar if you need that facility in post-processing. Please see this guide to upgrading Unrar.

Using other repositories

If you would rather use a different repository for SickRage, simply replace the URL in the installation command. Please note though that the guide assumes the repository used is as per the installation command - later commands may not work correctly if you change the repository.

Configuring before starting SickRage

Once you've got a copy of Pip running in a virtual environment, copy and paste the following to set up various components of SickRage:

~/pip/bin/pip install --upgrade -r ~/.sickrage/requirements.txt
~/pip/bin/pip install --upgrade pyopenssl

A config.ini file needs to be created and tweaked slightly before we can properly run SickRage. You can copy and paste the commands below to do this.

~/pip/bin/python ~/.sickrage/SiCKRAGE.py -d --pidfile="$HOME/.sickrage/sickrage.pid"
pkill -9 -fu "$(whoami)" 'SiCKRAGE.py'
rm -rf ~/.sickrage/sickrage.pid && sleep 10
mkdir ~/.sickrage.tv.shows
sed -ri 's|web_port = (.*)|web_port = '"$(shuf -i 10001-32001 -n 1)"'|g' ~/.sickrage/config.ini
sed -ri 's|web_root = (.*)|web_root = /'"$(whoami)"'/sickrage|g' ~/.sickrage/config.ini
sed -ri 's|launch_browser = 1|launch_browser = 0|g' ~/.sickrage/config.ini
sed -ri 's#root_dirs = (.*)#root_dirs = 0|'"$HOME"'/.sickrage.tv.shows#g' ~/.sickrage/config.ini

Starting, stopping and restarting

This section covers the SickRage process - starting it, stopping it and restarting it. It also covers checking if the process is running, in case that becomes necessary.

You can start SickRage and print its URL with the following:

~/pip/bin/python ~/.sickrage/SiCKRAGE.py -d --pidfile="$HOME/.sickrage/sickrage.pid" && echo http://$(hostname -f):$(sed -rn 's/(.*)web_port = //p' ~/.sickrage/config.ini)/$(whoami)/sickrage

If nothing happens or there is an error it could be that the port that was picked in the configuration step in use. Simply run these commands again to try with a different number (you'll need to edit the proxypass if you have one set up):

sed -ri 's|web_port = (.*)|web_port = '"$(shuf -i 10001-32001 -n 1)"'|g' ~/.sickrage/config.ini
python ~/.sickrage/SickBeard.py -d --pidfile="$HOME/.sickrage/sickrage.pid"

If you need to check that it's running, you can run the command below. If the process is running a list of relevant process ID numbers will be listed. If nothing is listed, the process is not running.

pgrep -fu "$(whoami)" "python $HOME/.sickrage/SickBeard.py -d"

The SickRage process is stopped by executing:

kill "$(pgrep -fu "$(whoami)" "python $HOME/.sickrage/SickBeard.py -d")"

If SickRage needs to be restarted, copy and paste this command:

kill "$(pgrep -fu "$(whoami)" "python $HOME/.sickrage/SickBeard.py -d")" && rm -rf ~/.sickrage/sickrage.pid && ~/pip/bin/python ~/.sickrage/SickBeard.py -d --pidfile="$HOME/.sickrage/sickrage.pid"

Please note that if you want to stop the process for SickRage, it's best to check it afterwards to make sure it has stopped. If the process has crashed and will not stop when requested, you can kill it with:

kill -9 "$(pgrep -fu "$(whoami)" "python $HOME/.sickrage/SickBeard.py -d")"

Automatically restarting SickRage if it is not running

Cron jobs can be used to check if SickRage is running and start it up if it is not. There is a separate page on configuring cron jobs.

Configuring

This section covers setting a password in SickRage and connecting the SickRage to different clients.

Setting a password in SickRage

Within the SickRage UI, click the Config icon (the two gears at the top) and then click General. Next, click the Interface tab. Near the bottom of the fields you'll be able to set a username and password for the web UI. Whilst it's not mandatory you do this, it is a sensible thing to do.

Configuring clients with SickRage

In SickRage's user interface click the Config icon (the two gears at the top) and then click Search Settings. Next, click the Torrent Search tab. You can choose the torrent client you want to configure from the menu.

rTorrent

First of all you need to create the rTorrent RPC and this is done by switching from apache to nginx.

Torrent host:port
https://server.feralhosting.com/user/rtorrent/rpc/ (replace server with your server name and user with your username)
Http Authentication
Basic
Client username
rutorrent (the word 'rutorrent', not your ruTorrent username)
Client password
The same password as you use to access ruTorrent

Deluge (via webUI)

Torrent host:port
https://server.feralhosting.com/user/deluge/
(replace server with your server name and user with your username)
Client password
Your Deluge webUI password
Downloaded files location
Make sure it's set to a location you're happy with (or make sure it's blank to use Deluge's default).

Deluge (via daemon)

There are a couple of commands we need to run via SSH first to obtain the daemon port and password (the password is not the same as the webUI password).

To find the port run this command:

sed -rn 's/(.*)"daemon_port": (.*),/\2/p' ~/.config/deluge/core.conf

To find the password run this command:

sed -rn "s/$(whoami):(.*):(.*)/\1/p" ~/.config/deluge/auth

Armed with the port and password, enter the details as follows:

Torrent host:port
https://server.feralhosting.com:port (replace server with your server name and port with the results of the command above)
Client username
Your Deluge daemon username (unless you've changed it, it'll be your Feral username)
Client password
Your Deluge daemon password
Downloaded files location
Make sure it's set to a location you're happy with (or make sure it's blank to use Deluge's default).

Transmission

Torrent host:port
https://server.feralhosting.com/user (replace server with your server name and user with your username)
Transmission RPC URL
transmission/rpc
Client username
The username you use to access Transmission
Client password
The same password as you use to access Transmission

SABnzbd

SickRage can also search for NZB files. This section covers connecting SickRage to SABnzbd.

SABnzbd server URL
https://server.feralhosting.com:port/sabnzbd/ (replace server with your server name and port with your HTTPS port for SABnzbd)
SABnzbd username
The username you set for the SABnzbd UI
SABnzbd password
The password you set for the SABnzbd UI
SABnzbd API key
Find this in the General section of SABnzbd's settings

Troubleshooting

If you experience issues or crashes using SickRage the first thing to try and do is restart the software using the command listed in the section above, Starting, stopping and restarting.

When trying to install the requirements, I get bash: $HOME/pip/bin/pip: No such file or directory

Make sure you've installed your own version of Pip

When trying to run SickRage, I get Failed to import required libs...

Please make sure you've a) installed a version of Pip to your slot (see above) and b) are calling Python using ~/pip/bin/python instead of just python

When I click Test Connection I get the error Error: Unable to connect to rTorrent'

If rTorrent is running and you've made the switch to nginx this error likely means some of the details you've entered are not correct. Please double-check that your username is rutorrent (as in the actual word, "rutorrent", not the username you use to log in to ruTorrent). If you changed your ruTorrent password after switching to nginx, you'll need to use the old password. If you no longer recall it, please reinstall nginx.

I went to start up SickRage and received an error '...sickrage.pid already exists. Exiting.'

Assuming you're using the default locations please run the following command before trying the start up command again:

rm ~/.sickrage/sickrage.pid

When I use pip I get an error IndexError: list index out of range

Please try using the option --no-use-wheel when using pip.

Uninstallation

kill -9 "$(pgrep -fu "$(whoami)" "python $HOME/.sickrage/SickBeard.py -d")"
rm -rf ~/.sickrage ~/.sickrage.tv.shows

External links