unRAID with SABnzbd+ and Sickbeard

I recently took the plunge and built my first unRAID server, it’s been running for a month now and i’ve been really happy with it. This tutorial will attempt to help you set up SABnzbd+ and Sickbeard on your unRAID server and get you one step closer to using WP Cumulas flash tag.

This wouldn’t have been possible without the great guys on the unRAID community forum, particularly Romir who created the AIO and Dependencies package.

I have included for download the All In One package as well, but for the purpose of this guide i am using the dependencies package as it should allow you to upgrade your SABnzbd installation.

This guide assumes you have a cache drive, however, both AIO or dependencies setup should work without a cache drive, just change the paths.

Using a cache drive or manually mounted disk is a good idea because sickbeard does a lot of debugging at the moment and will hit the flash a lot if stored on there, also you don’t want downloads downloading onto the flash.

Alternatively instead of a cache drive or manually mounting another drive you could put everything onto the array, somthing like replacing /mnt/cache/.custom with /mnt/disk1/custom would probably work or you could create a user share.

Change log

2010-06-03 – Published initial draft
2010-06-03 – Added loop in go script to allow /mnt/cache to mount
2010-06-03 – Added instructions for updating sickbeard
2010-06-03 – Added images/links to sickbeard, SABnzbd and unRAID
2010-06-03 – Added screenshots
2010-06-07 – Added automatic updater written by beckstown with modifications by mlrtime3 and me (Kode)
2010-06-07 – Changed paths to use wildcards for sickbeard
2010-06-07 – Added source for sickbeard-updater.sh for those who don’t want to download it just want to paste it into nano

Set up

Log into your unRAID server and type the following commands

cd /mnt/cache
mkdir .custom
cd .custom
wget http://sourceforge.net/projects/sabnzbdplus/files/sabnzbdplus/sabnzbd-0.5.2/SABnzbd-0.5.2-src.tar.gz/download
wget http://github.com/midgetspy/Sick-Beard/tarball/master
ls

Your filenames might be different, just replace the filenames below with the filesnames you have

tar zxf SABnzbd-0.5.2-src.tar.gz
tar zxf midgetspy-Sick-Beard*.tar.gz
rm SABnzbd-0.5.2-src.tar.gz
rm midgetspy-Sick-Beard*.tar.gz
mv midgetspy-Sick-Beard-* sickbeard
mv SABnzbd-0.5.2 sabnzbd
cd /boot/custom
wget http://www.bibliognome.com/unraid/SABnzbdDependencies-1.3-i486-unRAID.tgz

edit your go script and add the following, replacing 192.168.1.6 with whatever ip it runs on

# determine if cache drive online, retry upto 7 times
for i in 0 1 2 3 4 5 6 7
do
    if [ ! -d /mnt/cache ]
    then
      sleep 10
    fi
done

# If Cache drive is online, start SABNzbd
if [ -d /mnt/cache ]; then
  # Start SABnzbd and sickbeard
  installpkg /boot/custom/SABnzbdDependencies-1.3-i486-unRAID.tgz
  python /mnt/cache/.custom/sabnzbd/SABnzbd.py -d -s 192.168.1.6:88
  nohup python /mnt/cache/.custom/sickbeard/SickBeard.py &
fi

The for loop will pause installing SABnzbd and sickbeard for up to 70 seconds if the cache drive isn’t mounted yet, then, as suggested by Joe L. there is an if statement so if it goes over 70 seconds it wont try to install SABnzbd and sickbeard if the cache drive still isn’t mounted.

SABnzbd+ 0.5.2

You should be able to hit SABnzbd on http://tower:88/wizard if that doesnt work try typing python /mnt/cache/.custom/sabnzbd/SABnzbd.py -d -s 192.168.1.6:88 at the commandline

Complete the SABnzbd setup wizard

Go to Config/Folders

Change Completed Download Folder: to /mnt/cache this will mean that when the mover script runs it will move the completed download of the cache drive and into the appropriate location. This won’t affect TV downloads though because we will set up sickbeard to post process them.

Change Post-Processing Scripts Folder: to /mnt/cache/.custom/sickbeard/autoProcessTV then click save changes

Go to config/categories

Select sabToSickBeard.py from the script dropdown in the TV row

Sickbeard

Sickbeard should be accessable from http://tower:8081
In the unRAID terminal type

mv /mnt/cache/.custom/sickbeard/autoProcessTV/autoProcessTV.cfg.sample /mnt/cache/.custom/sickbeard/autoProcessTV/autoProcessTV.cfg

If you don’t chang the port, username (blank) or password (blank) in config/General you don’t need to edit this file.
Go to Config/General

In the defaults section select your preffered quality and tick Use Season Folders, click save changes

Go to Config/Episode Downloads

In the NZB/Torrent section, select SABnzbd as the NZB Action
In the SABnzbd section enter your SABnzbd settings (the api key can be retrieved by going to SABnzbd and going to /config/general)
Save changes

Go to Config/Search Providers

Enter the details for your search provider

Updating sickbeard with a script

Install

cd /mnt/cache/.custom
wget http://www.lockstockmods.net/dloads/sickbeard-updater.sh
chmod +x sickbeard-updater.sh

Run

Any time you want to update sickbeard just run the following

sh /mnt/cache/.custom/sickbeard-updater.sh

your old sickbeard folder is backed up to sickbeard_backup. If the update fails, do NOT just rerun it as you may lose your settings.

Updating sickbeard Manually

As we are using a development snapshot version of sickbeard you are going to want to keep it up to date, this is easy to do, but its a manual process.

cd /mnt/cache/.custom
wget http://github.com/midgetspy/Sick-Beard/tarball/master
tar zxf midgetspy-Sick-Beard*.tar.gz
rm midgetspy-Sick-Beard*.tar.gz
mv sickbeard/sickbeard.db midgetspy-Sick-Beard-*/
mv sickbeard/config.ini midgetspy-Sick-Beard-*/
mv sickbeard/autoProcessTV/autoProcessTV.cfg midgetspy-Sick-Beard-*/autoProcessTV/
rm -rf sickbeard
mv midgetspy-Sick-Beard-* sickbeard

Extras

sickbeard-updater.sh

Find below the source for the sickbeard-updater.sh

#!/bin/sh

# Required setting: Absolute path to parent directory of sickbeard folder.
path=/mnt/cache/.custom
sb="sickbeard"

# Optional setting to switch branch. DONT CHANGE IF YOU DONT KNOW WHAT THAT MEANS!
branch=master

# Get webgui access settings from autoProcessTV (needs to be set up) and shutdown sickbeard.
host=`echo | grep 'host=' $path/${sb}/autoProcessTV/autoProcessTV.cfg | cut -d '=' -f2 | tr -d '\r'`
port=`echo | grep 'port=' $path/${sb}/autoProcessTV/autoProcessTV.cfg | cut -d '=' -f2 | tr -d '\r'`
user=`echo | grep 'username=' $path/${sb}/autoProcessTV/autoProcessTV.cfg | cut -d '=' -f2 | tr -d '\r'`
pass=`echo | grep 'password=' $path/${sb}/autoProcessTV/autoProcessTV.cfg | cut -d '=' -f2 | tr -d '\r'`
wget --user=$user --password=$pass http://$host:$port/home/shutdown
sleep 5s

# Get source and untar it.
cd $path
wget http://github.com/midgetspy/Sick-Beard/tarball/$branch
tar zxf midgetspy-Sick-Beard*
rm midgetspy-Sick-Beard*.tar.gz

# Make backup copy of old ${sb} & setup new ${sb} version
cp -R ${sb} ${sb}_backup
mv ${sb}/sickbeard.db midgetspy-Sick-Beard-*/
mv ${sb}/config.ini midgetspy-Sick-Beard-*/
mv ${sb}/autoProcessTV/autoProcessTV.cfg midgetspy-Sick-Beard-*/autoProcessTV/
rm -rf ${sb}
mv midgetspy-Sick-Beard-* ${sb}

# Start SickBeard as daemon
cd ${sb}
nohup python SickBeard.py &

Leave a Reply

Your email address will not be published. Required fields are marked *

*