unRAID with SABnzbd


Recommended Posts

Just curious, but what advantage does using sickbeard have over using the built in rss reader in sabnzbd?  I've been using that with nzbs.org for quite some time with no problems.... but I'm always on the lookout for something better. ;)

Link to comment
  • Replies 734
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Kode,

 

I tried to view your guide, but the page says "Sorry, no posts matched your criteria."  Looking at sickbeard.com this looks like a very interesting project and I think I want to try to get it running on my tower as well.  Looking forward to your guide.

Link to comment

I have been writing a guide for getting SABznbd and sickbeard running on Unraid, the current rough draft of it is here http://www.lockstockmods.net/?p=153 its mostly for my own benefit for when i hose my installation, i have something to follow to get it working again.

 

If you look about half way down i have put the lines for the go script as

# 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 &

 

but when i ps x only sickbeard is running, if i manually type python /mnt/cache/.custom/sabnzbd/SABnzbd.py -d -s 192.168.1.6:88 it then works, what am i doing wrong?

 

Your guide assumes you have a cache drive, will the AIO package work without a cache drive?

 

 

Link to comment

Either will work without a cache drive, just change the paths, however, 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.

 

*edit* But as i said, i still haven't figured out why the go script isn't launching sabnzbd properly, but IS launching sickbeard.  Could it be because /mnt/cache doesnt exist when it tries to launch sabnzbd but does when it tries sickbeard?

Link to comment

Of the top of my head i'm not sure, but i dont think i have any, will check when i get home tonight.

Would something like the following work?

 

for i in 0 1 2 3 4 5 6 7

do

   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 &

     exit

   else

     sleep 10

   fi

done

Link to comment

I'd prob reorganize it so it delays until it exists, with the bulk of what you want to do outside the for/if loop.

 

# 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

# Cache drive is online
# 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 &

Link to comment

Stylistic choice while keeping cyclomatic complexity lower.

 

It could be made a bit nicer by exiting the for loop directly if the dir exists to eliminate excess dir checks, but it wont cause any delays.

 

I dont know the order that unraid makes the drives available, so this might be a bit pedantic. If you want to expand the conditional to check for other drives you could use either of the following, depending on code styling prefs. This will cause the sleep delay to occur if any of the following are not yet present.

 

if [[ ! -d /mnt/cache || ! -d /mnt/disk1 || ! -d /mnt/disk2 ]]

 

if [ ! -d /mnt/cache] || [ ! -d /mnt/disk1 ] || [ ! -d /mnt/disk2 ]

 

 

Link to comment

I'd prob reorganize it so it delays until it exists, with the bulk of what you want to do outside the for/if loop.

 

# 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 you put the installpkg commands after the delay, rather than in the test for array status, it is possible for you to have a disk failure that prevents the server from starting, yet you will still attempt to install SABnzbd once 70 seconds have elapsed.  It will only complicate your array maintenance if it does.

 

If you do decide to put the actual install after the delay loop, at least surround it with an "if" statement to test that the array is on-line.

 

 

# 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

Link to comment

Stylistic choice while keeping cyclomatic complexity lower.

 

It could be made a bit nicer by exiting the for loop directly if the dir exists to eliminate excess dir checks, but it wont cause any delays.

 

I dont know the order that unraid makes the drives available, so this might be a bit pedantic. If you want to expand the conditional to check for other drives you could use either of the following, depending on code styling prefs. This will cause the sleep delay to occur if any of the following are not yet present.

 

if [[ ! -d /mnt/cache || ! -d /mnt/disk1 || ! -d /mnt/disk2 ]]

 

if [ ! -d /mnt/cache] || [ ! -d /mnt/disk1 ] || [ ! -d /mnt/disk2 ]

 

 

 

Thanks for the explanation BRiT

Link to comment

If you wanted to ensure all your disks are mounted before starting the add-on processes, you might do something like this after the initial delay loop:

 

num_disk_configured=`grep "disk[0-9]*=" /boot/config/disk.cfg | wc -l`

 

md_disk_mounted=`mount | grep "/dev/md[0-9]*" | wc -l`

 

if [ "$num_disk_configured" = "$md_disk_mounted" ]; 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

 

 

Link to comment

I don't really need to check if any of the other disks are mounted as it all runs off the cache drive, but that would be useful for people not using a cache drive and want to use it directly on the array, i might add something about it at the end, thanks :)

 

I've updated the guide with a script that can be used to update sickbeard, i was thinking about adding this to the go script as well, but as my server isnt restarted very often it wouldn't get updated very often, would it be better setting up a cron job for it, or is there a better way that anyone can think of?

Link to comment
  • 2 weeks later...

I would also like to get sickbeard running on my unraid server.

I'm running SABnzbd 0.5.2 already, but I'm not totally clear how to install sickbeard.

My server does not have a cache drive.

 

Here is my current go script:

 

#!/bin/bash
# Start the Management Utility
/usr/local/sbin/emhttp &
#sleep 30;blockdev --setra 2048 /dev/md*
installpkg /boot/packages/cxxlibs-6.0.8-i486-4.tgz
installpkg /boot/packages/unraid_notify-2.50-noarch-unRAID.tgz
installpkg /boot/packages/socat-1.7.0.0-i486-2bj.tgz
unraid_notify start
installpkg /boot/packages/powerdown-1.02-noarch-unRAID.tgz
# sleep for 30 seconds before we do anything, just to make sure the array has started.
echo "Waiting 30s for array to start..."
sleep 30s
/boot/unmenu/uu
installpkg /boot/packages/SABnzbd-0.5.2-i586-unRAID.tgz
python /boot/custom/usr/share/packages/sabnzbd/SABnzbd.py

 

My Disk4 drive virtually never spins down so I was thinking of running it on that but I have no idea how to get started.

 

If any of you guys could help I would really appreciate it

 

Link to comment

Thanks neil,

 

I guess I was over thinking it.  I have it running now.

I'm still not sure how to get it to actually download anything though  :)

 

Is there a forum out there somewhere where one can get help with sickbeard ?

 

Cheers,

Kent

 

There are a couple of forums, but the Sick Beard info is generally in one huge, unreadable thread.

 

To set mine up, I just used http://code.google.com/p/sickbeard/w/list

Link to comment

Here's my SABnzbd install in my go script:

 

# SABnzbd
echo "Installing SABnzbd..."
installpkg /boot/packages/SABnzbdDependencies-1.3-i486-unRAID.tgz >null
python /boot/sabnzbd/SABnzbd.py -d -s 192.168.0.46:1234 -f /boot/config/sabnzbd.ini

 

Works reliably every time.

 

I have used your method of installation, it was easy! even for me!

Thanks

Link to comment

Just a note of caution about SickBeard.

 

When it says its Alpha it REALLY means it Alpha. It works extremmely well and is already the leader in this catagory but I believe there have already been two instances where SickBeard has DELETED two users complete collections due to a coding bug.

 

These bugs have been fixed but be careful. For this reason i use Sickbeard but dont let it anywhere near my full filesystem

Link to comment

Just a note of caution about SickBeard.

 

When it says its Alpha it REALLY means it Alpha. It works extremmely well and is already the leader in this catagory but I believe there have already been two instances where SickBeard has DELETED two users complete collections due to a coding bug.

 

These bugs have been fixed but be careful. For this reason i use Sickbeard but dont let it anywhere near my full filesystem

 

I'd add that despite the development being *very* vigorous and the source being updated multiple times on a daily basis don't try to stay bleeding edge.

 

If you get a version that works for you, hold onto it for a while rather than staying on the bleeding edge because the odd bug or issue has crept in. They've been quickly fixed but if you happened to grab that particular snapshot..

 

Excellent program in all other regards and it's been running fine for the past couple of months on my unraid server.

Link to comment

Just a note of caution about SickBeard.

 

When it says its Alpha it REALLY means it Alpha. It works extremmely well and is already the leader in this catagory but I believe there have already been two instances where SickBeard has DELETED two users complete collections due to a coding bug.

 

These bugs have been fixed but be careful. For this reason i use Sickbeard but dont let it anywhere near my full filesystem

 

All I let it do is to blackhole the NZB, I don't let it rename, move or delete anything -- which it wants to do.

Link to comment

Does anyone have issues with the par2 repairing?  There are 2 things that happen:

 

1)  It seems like sometimes sabnzbd gets hung up after repairing.  In this case I will just manually unrar it.

 

2)  Sometimes the repair starts, but then stops after renaming the files with the .1 extension.  In this case I just double click the par2 and let it repair, and then manually unrar.

 

Just wondering if anyone else has these issues, and if they've been addressed.

 

I was having these issues also, fortunately I found a fix that works for me... unfortunately the repair seems to take a little bit longer than what it used to.  I've found that replacing the par2 executable with the one from here: http://code.google.com/p/unraid-weebotech/downloads/list seems to fix the issue.  Like always, YMMV.

 

Im having a problem - out 6 downloads 3 of them had repair/verify errors.

 

I extracted the 1.3 dependencies package and updated the par2 file with the one in the link above.

rezipped it as a tar.gz file changed the go script accordingly but sabnzbd woudn't start

so i thought it needs to be a tgz extentsion so i renamed the file extentsion to tgz, changed go script but still it wouldnt start

 

so in the end i restored the original 1.3 dependencies package back and sabnzbd starts fine with that?

 

I just don't understand why it didnt work basically all i did was replace the par2 (258kb) app with weebotechs version is slightly larger at around 1.4mb would this be the problem?

 

Or did i rezip it in correctly?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.