Lime Technology - unRAID Server Community
September 02, 2010, 10:27:45 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: [1] 2 3 ... 18
  Print  
Author Topic: unRAID with SABnzbd  (Read 15447 times)
markus101
Newbie
*
Posts: 35


View Profile
« on: December 20, 2008, 11:43:45 AM »

Hi all,

First I'd like to say thanks to every on this forum, despite not having an exact idea of was doing with unRAID I think I've managed to stumble through getting it all setup and adding in SABnzbd. Also this wouldn't be possible without unRAID in general, so thanks for that development as well.

Okay now into the issue(s).

I've got SABnzbd up and running, downloads work via NNTP (non-SSL), download is verfied with par2, but when it gets to the unRAR stage it fails, saying it was unable to unpack (works in Windows on my main BOX). Here is what is running in the GO script at start-up for the RAR portion:

installpkg /boot/custom/usr/share/packages/unrar-3.7.8-i486-1stc_slack12.1.tgz

SABnzbd doesn't complain about the lack of unRAR (does complain if I don't have par2, so I assume the same for unRAR). I've also tried to copy the unrar file from /usr/bin to to the location where SABnzbd is (/boot/custom/usr/share/packages/SABnzbd), this is where I have par2 which seem to work right.

Other than this issue everything is working great, even managed to have the downloads get sorted (with SABnzbd's TV Sort/Categories) to the appropriate shares (/mnt/user/Movies or /mnt/user/TV) albeit they are not extracting at this time.

If anyone has any suggestions or questions about my particular setup, please let me know.

My Go Script is as follows:

#!/bin/bash
# Start the Management Utility
/usr/local/sbin/emhttp &


#Install Python
installpkg /boot/custom/usr/share/packages/python-2.5.2-i486-4.tgz
installpkg /boot/custom/usr/share/packages/unrar-3.7.8-i486-1stc_slack12.1.tgz
installpkg /boot/custom/usr/share/packages/infozip-5.52-i486-2.tgz

#Copy Cheetah
cp -r /boot/custom/usr/share/packages/Cheetah /usr/lib/python2.5/site-packages
cp /boot/custom/usr/share/packages/cheetah /usr/bin
cp /boot/custom/usr/share/packages/cheetah-compile /usr/bin

#Start SABnzbd
cd /boot/custom/usr/share/packages/SABnzbd/
python SABnzbd.py -d -f /boot/custom/SABnzbd/SABnzbd.ini

#Start Twonky
/boot/custom/usr/share/packages/twonkymedia/twonkymedia

Currently this is all running in VMWare until I get an older box to get a real deployment setup on...


Thanks in advance and Merry Christmas! (Soon anwyays)

Mark

EDIT: Spelling
UPDATE: I tried running unrar from telnet I get the following error:

unrar: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory.

I've tried installing the gcc and gcc-g++ packages, but when installing the gcc-g++ package via Telnet i get "Connection to host lost" and then none of the webpages load and I have to manually reboot the server.

Ended up having the gcc-g++ package install, boot me from telnet, go back in and copy the libstdc++.so.6 and libstdc++.so.6.0.3 files to the "flash drive" and then setting up GO to copy then to /usr/lib on start-up.

Everything is now working, a little MacGyvered, but it works.
« Last Edit: December 20, 2008, 01:26:32 PM by markus101 » Logged
Cornelius
Newbie
*
Posts: 30


View Profile
« Reply #1 on: December 28, 2008, 03:59:35 PM »

hey...
can you pls tell me/us how you installed sabnzbd....
I'm very interrested in this.
thx
Logged
Romir
Full Member
***
Posts: 153


View Profile
« Reply #2 on: December 28, 2008, 06:32:09 PM »

Update: All of the dependencies for Sabnzbd+ 0.5.0 have been collected and rolled into one package to make installation as simple as one or two commands. The package and the updated instructions can be found in this linked post http://lime-technology.com/forum/index.php?topic=2903.msg30274#msg30274. The following outdated guide is being preserved as a reference on what it takes to manually get it going.

First of all, thanks to markus101 for showing us this could be done. This guide has been made so the commands can be copy and pasted into Putty. Only the "go" file needs to be manually edited. I've tested these steps on a stock unraid system running 4.4 and had Sabnzbd+ up and running in minutes.

1. First change your directory to the agreed upon custom packages folder. If it doesn't exist we'll make them with the mkdir command. You can just copy and paste my instructions if you use this directory structure.

Code:
mkdir -p /boot/custom/usr/share/packages
cd /boot/custom/usr/share/packages


2. Download Sabnzbd+ 0.4.7, extract it, and rename the extracted folder to a simpler non-version specific name. When future versions are released, you can simply extract and overwrite the files it into this directory.

Code:
wget http://kent.dl.sourceforge.net/sourceforge/sabnzbdplus/SABnzbd-0.4.7-src.tar.gz
tar -xzf SABnzbd-0.4.7-src.tar.gz
mv SABnzbd-0.4.7 sabnzbd


3. Now you need the following supporting packages: Python, Infozip, Unrar, multi-threaded Par2, and Feedparser if you want RSS support.
Make sure you're still in /boot/custom/usr/share/packages.

Code:
wget http://mirrors.easynews.com/linux/slackware/slackware-current/slackware/d/python-2.5.2-i486-4.tgz
wget http://mirrors.easynews.com/linux/slackware/slackware-current/slackware/a/infozip-5.52-i486-2.tgz
wget http://www.rarlab.com/rar/unrar-3.7.8-i486-1stc_slack12.1.tgz
wget http://feedparser.googlecode.com/files/feedparser-4.1.zip
wget http://www.chuchusoft.com/par2_tbb/par2cmdline-0.4-tbb-20081005-lin32.tar.gz


4. You'll also need Cheetah and PyOpenSSL (if you want SSL) but they won't install without a proper development environment. Use my copies or compile them in a full Slackware distro and copy the files over. A couple lib files are also needed for unrar.

Code:
wget http://www.bibliognome.com/cheetah.tgz
wget http://www.bibliognome.com/pyopenssl.tgz
wget http://www.bibliognome.com/libstdc++.tgz


5. Extract Cheetah, PyOpenSSL, Feedparser, Par2, and Unrar libs. Then we'll move the par2 files into sabnzbd's directory.

Code:
tar -xzf cheetah.tgz
tar -xzf pyopenssl.tgz
tar -xzf par2cmdline-0.4-tbb-20081005-lin32.tar.gz
tar xzf libstdc++.tgz
cp libstdc++.so* /usr/lib
installpkg infozip-5.52-i486-2.tgz
unzip feedparser-4.1.zip -d /boot/custom/usr/share/packages/feedparser-4.1
cd par2cmdline-0.4-tbb-20081005-lin32
cp par2 /boot/custom/usr/share/packages/sabnzbd
cp lib* /boot/custom/usr/share/packages/sabnzbd


6. Everything is now in place. We just need add the following to the startup /boot/config/go file. Replace the IP at the end with your Unraid servers. The port can also be changed from 88 if needed.

Code:
#Install packages and copy files for Sabnzbd
installpkg /boot/custom/usr/share/packages/python-2.5.2-i486-4.tgz
installpkg /boot/custom/usr/share/packages/infozip-5.52-i486-2.tgz
installpkg /boot/custom/usr/share/packages/unrar-3.7.8-i486-1stc_slack12.1.tgz
cp -r /boot/custom/usr/share/packages/Cheetah /usr/lib/python2.5/site-packages
cp /boot/custom/usr/share/packages/Cheetah/Cheetah-2.0.1-py2.5.egg-info /usr/lib/python2.5/
cp /boot/custom/usr/share/packages/Cheetah/bin/cheetah /usr/bin
cp /boot/custom/usr/share/packages/Cheetah/bin/cheetah-compile /usr/bin
cp -r /boot/custom/usr/share/packages/OpenSSL /usr/lib/python2.5/site-packages
cp /boot/custom/usr/share/packages/OpenSSL/pyOpenSSL-0.8-py2.5.egg-info /usr/lib/python2.5/
cp /boot/custom/usr/share/packages/sabnzbd/par2 /usr/bin
cp /boot/custom/usr/share/packages/sabnzbd/libtbb* /usr/bin
cp /boot/custom/usr/share/packages/libstdc++.so* /usr/lib

#Install Feedparser & start SABnzbd
cd /boot/custom/usr/share/packages/feedparser-4.1
python /boot/custom/usr/share/packages/feedparser-4.1/setup.py install
python /boot/custom/usr/share/packages/sabnzbd/SABnzbd.py -d -f /boot/custom/usr/share/packages/sabnzbd/SABnzbd.ini -s 192.168.1.10:88


7. Save the go script and reboot, or run all of those commands to proceed. Sabnzbd will start and you should now be able to access its web interface. If you used 192.168.1.10 as the ip and port 88 you would go to http://192.168.1.10:88/sabnzbd

The download, cache, and complete directory should be changed from the defaults on the flash drive. With a cache drive I use the following paths:

Code:
log_dir = /mnt/cache/.custom/sabnzbd/logs
download_dir = /mnt/cache/.custom/sabnzbd/downloads/incomplete
nzb_backup_dir = /mnt/cache/.custom/sabnzbd/backup
cache_dir = /mnt/cache/.custom/sabnzbd/cache
complete_dir = /mnt/user/Downloads


If you don't have a cache drive and put the incomplete download directory in an unraid array disk, be sure to stop downloading before ever trying to stop the array. If a disk is in use from an addon program like this it'll prevent it from unmounting, and will make the other drives appear as unformatted. If that happens stop the download or wait for the par2/extraction to finish and click stop again. The drive should then unmount and then you can shutdown or reboot as normal. It would still be a good idea to run a parity check after restarting the sever.
« Last Edit: November 01, 2009, 07:09:30 PM by Romir » Logged
bubbaQ
Hero Member
*****
Posts: 2370


View Profile
« Reply #3 on: December 28, 2008, 06:57:27 PM »

Geez... NZBget is an order of magnitude simpler.
Logged
Romir
Full Member
***
Posts: 153


View Profile
« Reply #4 on: December 28, 2008, 09:46:41 PM »

Geez... NZBget is an order of magnitude simpler.
It probably uses an order of magnitude less resources too. Sabnzbd's (PYTHON) always been a bit resource hungry but it runs out of sight in the background and does exactly what it's supposed to for over 4 years now.

Without the optional RSS (Feedparser) and SSL (PyOpenSSL) the install isn't bad really. It just needs python, cheetah, and what the other nzb grabbers require: infozip, unrar, and par2. Oh and maybe the two gcc lib's the OP mentioned that I forgot to include in the guide. Sad
« Last Edit: December 28, 2008, 10:20:26 PM by Romir » Logged
Cornelius
Newbie
*
Posts: 30


View Profile
« Reply #5 on: December 29, 2008, 12:48:44 AM »

thank you guys very much. this is just perfect!
 Smiley no need to run a second pc all the time. i also tried bubbaQs nzbget, but i think sabnzbd is more user friendly.
Logged
bubbaQ
Hero Member
*****
Posts: 2370


View Profile
« Reply #6 on: December 29, 2008, 07:37:20 AM »

Quote
i also tried bubbaQs nzbget, but i think sabnzbd is more user friendly.
NZBget is a backed -- it is not supposed to be user friendly.  You use the web interface or another front end and it becomes very friendly.
Logged
Romir
Full Member
***
Posts: 153


View Profile
« Reply #7 on: December 30, 2008, 12:36:43 PM »

My tv renaming problem was caused by using the windows back slashes from my old config file. Switching to foward slashes fixed it.

Was:
%sn\Season %0s\%sn.%0sx%0e.%en.%ext
Show Name\Season 01\Show Name.01x05.Episode Name.avi

Now:
%sn/Season %0s/%sn.%0sx%0e.%en.%ext
Show Name/Season 01/Show Name.01x05.Episode Name.avi
Logged
markus101
Newbie
*
Posts: 35


View Profile
« Reply #8 on: January 02, 2009, 09:39:41 AM »

Thanks Romir, thats pretty much the same as I did...except I took the lazy route and downloaded/extracted everything in Windows and copied it over.

SAB was the only thing holding me back on setting upunRAID, but once that was sorted I started the process.

Again thanks Romir - you helped me sort out a few post-install issues in our conversations.

To everyone else - best of luck getting SAB on unRAID, if you have any questions I'll do my best to answer them, especially now that the holidays are over.

*EDIT* @Romir - I believe elementtree is eitehr not needed or included in some other way (best I remember from trying to get V5 of SAB running in Windows), in the same boat as you regarding yENC - no idea, but as long as cherrypy is the in SAB folder SAB knows to look there (this also applies for Cheetah according to one of the devs for SAB). Also the two GCC libs are required for unRAR - it was the only thing that was failing prior to them being installed.

Happy New Year,

Markus101
« Last Edit: January 02, 2009, 09:45:05 AM by markus101 » Logged
Cornelius
Newbie
*
Posts: 30


View Profile
« Reply #9 on: January 07, 2009, 12:53:25 PM »

@Romir

the lib“s should be in usr/lib and not in usr/bin
and again ... thx for this guide!

Quote
Edit: If you need libstdc++.so files, you can copy and paste or the following. Or install the 17mb gcc-g++-4.2.4-i486-1.tgz on startup. I went through the steps on a stock 4.4 system and didn't need them, but ymmv.

Code:
cd /boot/custom/usr/share/packages
wget http://www.bibliognome.com/libstdc++.tgz
tar xzf libstdc++.tgz
cp libstdc++.so* /usr/lib


In your go script add: "cp /boot/custom/usr/share/packages/libstdc++.so* /usr/lib"
Logged
markus101
Newbie
*
Posts: 35


View Profile
« Reply #10 on: January 07, 2009, 03:00:20 PM »

Hi, hope this helps. I'll also post it back into the SAB Forum for others.

First download the following files.

http://kent.dl.sourceforge.net/sourceforge/sabnzbdplus/SABnzbd-0.4.6-src.tar.gz - SABnzbd+
http://mirrors.easynews.com/linux/slackware/slackware-current/slackware/d/python-2.5.2-i486-4.tgz - Python
http://mirrors.easynews.com/linux/slackware/slackware-current/slackware/a/infozip-5.52-i486-2.tgz - Infozip
http://www.rarlab.com/rar/unrar-3.7.8-i486-1stc_slack12.1.tgz - unRAR
http://feedparser.googlecode.com/files/feedparser-4.1.zip - feedparser (for RSS Feeds)
http://www.chuchusoft.com/par2_tbb/par2cmdline-0.4-tbb-20081005-lin32.tar.gz - par2cmdline
http://www.bibliognome.com/cheetah.tgz
http://www.bibliognome.com/libstdc++.tgz

Create a directory on the flash drive (you con modify the structure to fit, as I didn't follow the "best practices")
My path is /boot/packages (all files are put in packages/subfolders in packages)

inside /boot/packages (\\unraid\flash\packages in Windows)
Extract SABnabd (I used SABnzbd as the folder name)
Copy, python, unrar, infozip to packages
Copy feedparser to packages
Copy the par2cmdline files to packages
Extract the Cheetah Folder to packages
Extract/copy over the libstdc++.so.6.0.3 and libstdc++.so.6 files to packages

Now you need to telnet to the unRAID server and run the following (or add to the GO script in /boot/config/go then reboot):

#Install python, unrar and infozip:

installpkg /boot/packages/python-2.5.2-i486-4.tgz
installpkg /boot/packages/unrar-3.7.8-i486-1stc_slack12.1.tgz
installpkg /boot/packages/infozip-5.52-i486-2.tgz

#Copy Cheetah files:
cp -r /boot/packages/Cheetah /usr/lib/python2.5/site-packages

#Compile feedparser:
python /boot/packages/feedparser/setup.py install

#Copy files for PAR2:
cp /boot/packages/par2 /usr/bin
cp /boot/packages/libtbb.so /usr/bin
cp /boot/packages/libtbb.so.2 /usr/bin

#Copy RAR Libraries:
cp /boot/packages/libstdc++.so.6.0.3 /usr/lib
cp /boot/packages/libstdc++.so.6 /usr/lib

#Start SABnzbd so it will create the default ini file.
cd /boot/packages/SABnzbd/
python SABnzbd.py -d

After it creates the default config file, shutdown SAB via the command line: killall python or nicely, with
Code:
/usr/bin/wget -q --delete-after "http://localhost:8080/sabnzbd/api?mode=shutdown"

Edit the config file /boot/packages/SABnzbd/SABnzbd.ini by default. and make changes to the IP and Port so it uses your unRAID IP and a different port than unMENU
You cna also change the default folders now, or after you go into the WebUI:
Code:
download_dir = /mnt/cache/.custom/sabnzbd/downloads/incomplete
nzb_backup_dir = /mnt/cache/.custom/sabnzbd/backup
cache_dir = /mnt/cache/.custom/sabnzbd/cache
dirscan_dir = /mnt/user/Downloads
complete_dir = /mnt/user/Downloads

Restart unRAID or simply run
Code:
python SABnzbd.py -d

Connect to the WebUI and setup the rest!

If you want to change the location of the SAB config run it with the following:
Code:
python SABnzbd.py -d -f /boot/SABnzbd/SABnzbd.ini
Path can be changed to anything you wish and is called with the -f.

I haven't included SSL, but Romir has the install steps in his post.

Hopefully this helps, saves you typing commands, but Romir's is very straight forward and looking at it now, it might just be easier to run it all from the command-line.

Thanks to Romir for hosting the Libraries for RAR and the Cheetah files, in addition to the SSL Libs.
Logged
Moshpitius
Newbie
*
Posts: 26


View Profile
« Reply #11 on: January 08, 2009, 06:44:48 AM »

Just followed your steps, this is great!
Logged
funtek
Newbie
*
Posts: 4


View Profile Email
« Reply #12 on: January 10, 2009, 11:43:33 PM »

This is excellent. I followed the instructions and it works perfectly. I also got a script from the SAB forums and now my Unraid box is quietly sitting in the corner, downloading any missing TV show for which I have a directory.

In case anyone doesn't want to read through that link: some guy wrote a python script that takes a newzbin rss feed full of TV or movies, parses it and compares it against what you already have in your directories and downloads anything you don't have that's present in the feed. So for TV, it downloads all the new episodesfor any show that you're already watched some of. And, if you want to download a new series, you just have to create the folder for it, and the script starts populating it with files Smiley
Logged
NAS
Hero Member
*****
Posts: 1665



View Profile
« Reply #13 on: January 11, 2009, 02:10:55 AM »

use hellavcr instead you wont regret it Smiley

Alot of this install could be scripted to help out new users if anyone is game Smiley
Logged
markus101
Newbie
*
Posts: 35


View Profile
« Reply #14 on: January 12, 2009, 03:57:16 PM »

Downside to HellaVCR is the need to have PHP, starts increasing the size and complexity of the unRAID server, I was looking forward to HellaVCR, but maybe I'll give the Python script a go - makes getting back episodes of shows much easier.

http://forums.sabnzbd.org/index.php?topic=1335.0 is the script that is being referred to right?

*EDIT* Apparently I'm semi-slow and missed the fact that you made a link to that already.
« Last Edit: January 13, 2009, 09:32:34 AM by markus101 » Logged
Pages: [1] 2 3 ... 18
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.10 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!