Wednesday, 27 January 2016 14:32

SickRage + Sabnzbd + Raspberry Pi = TVPi Part 1

Written by 
Rate this item
(1 Vote)

Installing Sickbeard/SickRage and Sabnzbd on your Raspberry Pi, PART 1 of 2

Easy Step-by-step illustrated guide to setting up a Raspberry Pi with Sickrage and Sabnzbd

I no longer need my vm server turned on 24/7, creating noise and wasting electricity.  Now with my raspberry pi setup with Sickrage (which is a fork of Sickbeard) and Sabnzbd, I can sit back, relax and watch some TV.

Here's what you'll need

  • Pi connected on the same network as you
  • SSH client software (Putty, or through the linux command line)
  • Usenet (newsgroup) provider (I use and recommend NewsDemon)
  • Raspbian (or similar image running on your Pi)
  • External USB Harddrive, thumbdrive, or Network Storage

 

Raspbian running on your Pi

You'll first need to have the Raspbian image running on your Raspberry Pi.  You can follow my tutorials on setting up the SD Card (Windows) or (Linux) and then proceed to the initial setup to get your Pi running on your network in this guide: Raspberry Pi setup without a Monitor.

 

Download and Install Sabnzbd

Once your pi is up and running on your network, we'll do some basic setup, download the required applications, and install Sabnzbd.

SSH into your pi using putty or the linux command line

 

- Change the hostname on your pi (Optional)

I like to change the default hostname from raspberrypi to something a bit more desciptive, especially when I have multiple units connected onto my network.

sudo nano /etc/hostname

edit this file to change the hostname from raspberrypi to something else.  (I chose tvpi as my hostname for my example).  Ctrl+x and y to save the new file.

 

- Download and install Sabnzbd

If you're running Raspbian, Sabnzbd is located in the debian repository, makes things simple...

sudo apt-get update && sudo apt-get install sabnzbdplus

Once this is downloaded and installed you can check to make sure it is running

sudo service sabnzbdplus status

‚óŹ sabnzbdplus.service - LSB: SABnzbd+ binary newsgrabber
   Loaded: loaded (/etc/init.d/sabnzbdplus)
   Active: active (exited) since Mon 2016-01-25 13:46:06 CST; 38s ago

Jan 25 13:46:06 tvpi sabnzbdplus[1686]: SABnzbd+ binary newsgrabber: service....
Jan 25 13:46:06 tvpi systemd[1]: Started LSB: SABnzbd+ binary newsgrabber.
Hint: Some lines were ellipsized, use -l to show in full.

 

We'll now need to edit the default configuration file to allow web access

First we'll make a copy of the orginal file (in case of any mistakes down the road)

sudo cp /etc/default/sabnzbdplus /etc/default/sabnzbdplus.old

Now we edit /etc/default/sabnzbdplus to our needs (Ctrl+x and y to save the new file after your edits.)

sudo nano /etc/default/sabnzbdplus

Here is the default /etc/default/sabnzbdplus file, with my changes highlighted

# This file is sourced by /etc/init.d/sabnzbdplus
#
# When SABnzbd+ is started using the init script, the
# --daemon option is always used, and the program is
# started under the account of $USER, as set below.
#
# Each setting is marked either "required" or "optional";
# leaving any required setting unconfigured will cause
# the service to not start.

# [required] user or uid of account to run the program as:
USER=pi

# [optional] full path to the configuration file of your choice;
#            otherwise, the default location (in $USER's home
#            directory) is used:
CONFIG=

# [optional] hostname/ip and port number to listen on:
HOST=0.0.0.0
PORT=9090

# [optional] extra command line options, if any:
EXTRAOPTS=
  • USER= set this to your raspberry pi user name
  • HOST= set this to 0.0.0.0 to allow access from anywhere on your network, set this to localhost if you only want local access (in our case we are running a headless pi setup so we require access from remote PC's on our network).
  • PORT= set this to a network port above 1024 (I use 9090 as it's easy to remember)

Restart Sabnzbd to reload the config file that we edited

sudo service sabnzbdplus restart

We should now be able to access the Sabnzbd front end using your web browser and going to http://<your-pi-ip>:<port-you-selected>, in my example it's http://192.168.1.81:9090

 Sickbeard Sabnzbd on Raspberry Pi 2

 

Setup Wizard for Sabnzbd

Select your default language and select Start Wizard.  On Step One in the setup wizard, you'll need to have your usenet provider information on hand (Host, Port, Username, Password, Allowable Connections).  NewsDemon is the provider I recommend.

Sickbeard Sabnzbd on Raspberry Pi 3

Step Two in the setup wizard allows you to password protect the Sabnzbd webgui.  Being this is only accessible on my internal network, I leave this with the defaults as shown here.

Sickbeard Sabnzbd on Raspberry Pi 4

Step Three I also leave as default, this is if you would like to integrate it with the external NZB site oznzb

Sickbeard Sabnzbd on Raspberry Pi 5

Once you click Next, Sabnzbd will restart and load a page showing you the web addresses you can now access the Sabnzbd web front end (ie; http://<your-pi-ip>:<port>/, in my example it's http://tvpi:9090/)

 

Configure Sabnzbd

You should now see this screen once have completed the setup wizard and you navigate to your ip and port of the installation (In my example it's http://tvpi:9090/)

Sickbeard Sabnzbd on Raspberry Pi 6

- Install Unrar

You'll need an unrar utility and currently there is not a good one in the Raspbian repository.  You can compile it or install it from a source I found.

wget http://sourceforge.net/projects/bananapi/files/unrar_5.2.6-1.arm6_armhf.deb

and install it

sudo dpkg -i unrar_5.2.6-1.arm6_armhf.deb

 

 - Configure external storage

You will need some sort of external storage.  I am using a network public share but you can easily use a USB external drive.  The instructions below is what I did to use my network drive.  If you plan on using a USB external drive, you will have to set that up a little dirrent than what is shown in this section.

Create a mount point for the external drive

sudo mkdir /mnt/Video2

Some older Raspbian images may not include cifs, to install it

sudo apt-get install cifs-utils

Edit /etc/fstab to mount the drive on boot (Ctrl+x and y to save the file)

sudo nano /etc/fstab

and include this line after the last line currently in your fstab file

//sambapi/Video2 /mnt/Video2 cifs guest,uid=1000,gid=1000,iocharset=utf8 0 0

Sickbeard Sabnzbd on Raspberry Pi 16

  • //sambapi/Video2: is your network share (change accordingly to match your specifics)
  • /mnt/Video2: is the mount point on the local system (change accordingly)
  • cifs: tells how to mount
  • guest: states it is a public share (no username/password is required)
  • uid=1000,gid=1000: indicates to mount using this user's permisions (in our case our username pi = 1000)
  • iocharset=utf8: allows non-English characters in filenames

Test that the drive mounts

sudo mount -a

and check the permissions of the mounted drive

ls -la /mnt/Video2/

 * If mounting a network drive, I found the need to use the wait for network boot option in raspi-config setup.

 

- Configure Sabnzb to use external drive for the downloads

Click on Config (upper left hand corner of the Sabnzbd web interface)

Click on Folders and edit the following fields:

Temporary Download Folder

Completed Download Folder

 Sickbeard Sabnzbd on Raspberry Pi 7

 Then click Save Changes and Restart Sabnzbd. After reboot, Sabnzbd should have made the new directories in the locations you provided.

 

- Speedup Sabnzb on your Raspberry Pi

I'm using the orignal Raspberry Pi B+ (single core processor, 512M) and downloads can be slow.  These are a few tweaks I did to improve my download speeds and some other general settings to improve the usage.  These settings are ones different than from the default configuration.

In Sabnzbd Config:

  • Set Config > General > Article Cache Limit to 128M
  • Add Config > General > Tuning > Cleanup List: .nfo, .sfv, .srr
  • Config > Switches > Queue: Check Pause Downloading During Post-Processing
  • Config > Switches > Queue: Check Check before download
  • Config > Switches > Queue: Check Only Get Articles for Top of Queue
  • Config > Servers: Limit your Server Connections to 10

On Raspberry Pi:

  • raspi-config > Advanced Options > Memory Split: set to 16

 

Part 1 | Part 2 - Installing SickRage

 

 

 

Read 9900 times Last modified on Monday, 08 February 2016 14:15
Algis Salys

Creator and owner of algissalys.com.  Linux enthusiast, electronics tinkerer, and likes to spend time in the workshop building and creating new projects.