SickChill
This article will show you how to install SickChill and configure it to be used with different torrent clients. SickChill is an automatic TV libbrary manager.
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).
Table of contents
Installation
Install SickChill by logging in via SSH, then copying and pasting the following:
git clone -b python2.7 https://github.com/SickChill/SickChill.git
Installation notes
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.
SickChill may need an updated version of Unrar if you need that facility in post-processing. Please see this guide to upgrading Unrar.
Configuring before starting SickChill
Once you've got a copy of Pip running in a virtual environment, copy and paste the following to set up various components of SickChill:
~/pip/bin/pip install --upgrade -r ~/SickChill/requirements.txt ~/pip/bin/pip install --upgrade pyopenssl
A config.ini file needs to be created and tweaked slightly before we can properly run SickChill. You can copy and paste the commands below to do this.
~/pip/bin/python ~/SickChill/SickBeard.py -d --pidfile="$HOME/SickChill/SickChill.pid" pkill -9 -fu "$(whoami)" 'SickChill/SickBeard.py' rm -rf ~/SickChill/SickChill.pid && sleep 10 mkdir ~/.SickChill.tv.shows sed -ri 's|web_port = (.*)|web_port = '"$(shuf -i 10001-32001 -n 1)"'|g' ~/SickChill/config.ini sed -ri 's|web_root = (.*)|web_root = /'"$(whoami)"'/sickchill|g' ~/SickChill/config.ini sed -ri 's|launch_browser = 1|launch_browser = 0|g' ~/SickChill/config.ini sed -ri 's#root_dirs = (.*)#root_dirs = '"$HOME"'/.SickChill.tv.shows#g' ~/SickChill/config.ini
Starting, stopping and restarting
This section covers the SickChill 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 SickChill and print its URL with the following:
~/pip/bin/python ~/SickChill/SickBeard.py -d --pidfile="$HOME/SickChill/SickChill.pid" && echo http://$(hostname -f):$(sed -rn 's/(.*)web_port = //p' ~/SickChill/config.ini)/$(whoami)/sickchill
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' ~/SickChill/config.ini ~/pip/bin/python ~/SickChill/SickBeard.py -d --pidfile="$HOME/SickChill/SickChill.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/SickChill/SickBeard.py -d"
The SickChill process is stopped by executing:
pkill -fu "$(whoami)" 'SickChill/SickBeard.py'
If SickChill needs to be restarted, copy and paste this command:
pkill -fu "$(whoami)" 'SickChill/SickBeard.py' && rm -rf ~/SickChill/SickChill.pid && ~/pip/bin/python ~/SickChill/SickBeard.py -d --pidfile="$HOME/SickChill/SickChill.pid"
Please note that if you want to stop the process for SickChill, 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:
pkill -9 -fu "$(whoami)" 'SickChill/SickBeard.py'
Automatically restarting SickChill if it is not running
Cron jobs can be used to check if SickChill 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 SickChill and connecting the SickChill to different clients.
Setting a password in SickChill
Within the SickChill 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 SickChill
In SickChill's user interface click the Config icon (the two gears at the top) and then click Search Settings. Next, click the Torrent Search tab then check/tick the enable torrent search providers box. 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
SickChill can also search for NZB files. This section covers connecting SickChill 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 SickChill 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 SickChill, 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 SickChill and received an error '...SickChill.pid already exists. Exiting.'
-
Assuming you're using the default locations please run the following command before trying the start up command again:
rm ~/SickChill/SickChill.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
pkill -9 -fu "$(whoami)" 'SickChill/SickBeard.py' rm -rf ~/SickChill ~/.SickChill.tv.shows