Sick Beard

From Leo's Notes
Last edited on 3 January 2022, at 06:14.

Sick Beard is a web application written in Python that can automatically fetches TV shows from Usenet.

Development has stopped
The development of Sick Beard appears to have stopped. I have since switched to Sonaar which has additional features and better download failure handling.


Installation[edit | edit source]

I have used Sick Beard on both CentOS 6 and CentOS 7 systems. The installation steps are outlined in this section.

CentOS 7[edit | edit source]

The installation process under CentOS 7 is very straight forward.

## Install dependencies
# yum -y install python-cheetah pyOpenSSL git wget

## Setup sickbeard user & home directory
# groupadd -r -g 250 downloaders
# adduser -M -d /usr/local/sickbeard -r -u 250 -g 250 sickbeard
# mkdir /usr/local/sickbeard
# chown sickbeard:downloaders /usr/local/sickbeard

# su - sickbeard -c "git clone https://github.com/midgetspy/Sick-Beard.git /usr/local/sickbeard"

Go through the configuration file at /usr/local/sickbeard/config.ini and ensure that web_port and web_host are set properly.

Serve Sick Beard on its own domain
If you are running this on a remote server, you may want to serve Sick Beard on a domain name such as sickbeard.mydomain.com. You may either change the web_port to port 80, or use IPTables to reroute port 80 to the 8081 using the rule: iptables -A PREROUTING -t nat -i eno16777736 -p tcp -d 10.1.2.3 --dport 80 -j REDIRECT --to-port 8081


Starting Sick Beard can be done using a systemd startup script which executes:

screen -S sickbeard -dm su - sickbeard -c "/usr/local/sickbeard/SickBeard.py --datadir=/home/sickbeard/data"

CentOS 6[edit | edit source]

Because the distro packages are too old, you will need to compile some of the dependencies manually. The shell script below should help you get SickBeard set up.

#!/bin/bash
# Install EPEL repo
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# Update system and install dependencies.
yum -y update
yum -y install wget git unzip par2cmdline pyOpenSSL openssl gcc python-devel

#
# Install unrar
#
cd ~
wget http://www.rarlab.com/rar/unrar-linux-x64.gz
gunzip unrar-linux-x64.gz
chmod 755 unrar-linux-x64
mv unrar-linux-x64  /usr/bin/unrar

#
# Install python-yenc
#
cd ~
wget http://sabnzbd.sourceforge.net/yenc-0.3.tar.gz
tar -xzf yenc-*.tar.gz
cd yenc-0.3
python setup.py install

#
# Install python-cheetah
#
cd ~
wget http://pypi.python.org/packages/source/C/Cheetah/Cheetah-2.4.4.tar.gz
tar -zxvf Cheetah-2.4.4.tar.gz
cd Cheetah-2.4.4
python setup.py install

#
# Install SABnzbd
#
cd ~
wget http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus/0.7.13/SABnzbd-0.7.13-src.tar.gz
tar -xzf SABnzbd-0.7.13-src.tar.gz
mv SABnzbd-0.7.13 /usr/share/SABnzbd
useradd -r -M sabnzbd
chown -R sabnzbd:sabnzbd /usr/share/SABnzbd
# Create /etc/init.d/SABnzbd with the contents defined below.
# Create /etc/sysconfig/SABnzbd with the contents below.
cd /usr/share/SABnzbd
sudo -u sabnzbd python SABnzbd.py
# You may ctrl+c out. Running this once will show whether there are any issues.
# If all is good, enable the service:
chkconfig --add SABnzbd
chkconfig --level 234 SABnzbd on
# You might want to check out the .ini file that was generated on the first run at /usr/share/SABnzbd/sabnzbd.ini

#
# Install sickbeard
#
cd ~
git clone git://github.com/midgetspy/Sick-Beard.git my-sickbeard-install
mv my-sickbeard-instal /usr/share/sickbeard
useradd -r -M sickbeard
chown -R sickbeard:sickbeard /usr/share/sickbeard
vi /etc/sysconfig/sickbeard   # edit it to contain the contents below.
mv init.fedora  /etc/init.d/sickbeard
rm init.*
sudo -u sickbeard python SickBeard.py
# You may ctrl+c out. 
# Running this once will show whether there are any issues.
# If all is good, enable the service:
chkconfig --add sickbeard
chkconfig --level 234 sickbeard on

You may configure sick beard by editing the sysconfig file at /etc/sysconfig/sickbeard

SB_USER=sickbeard
SB_HOME=/usr/share/sickbeard
SB_DATA=/usr/share/sickbeard
SB_PIDFILE=/var/run/sickbeard/sickbeard.pid
protocol=http
host=10.1.1.16
port=8081

Troubleshooting[edit | edit source]

If you have issues starting Sick Beard, ensure that SELinux is disabled.

See Also[edit | edit source]