fantechtic

About technology, life and other useful stuff.
Nov 27
Permalink

[Tutorial] All your favorite downloaders on FreeNAS 8 (amd64, ZFS)

What’s up people? Long time no see. Yeah I know. Have been running FreeNAS 7 for over a year, everything very stable. Few weeks ago I thought it would be time to finally take the step and upgrade to FreeNAS 8. So I bought the hardware, set everything up and started searching the interwebs on how to get my favorite downloaders working on the new FreeNAS 8. Few weeks later I got (most of it) running.

The bad news: auto startup and shutdown. Can’t seem to get them working. So for now, you have to use a startup script, every time you boot your server. 
It’s kinda like tethered booting your jailbroken iPhone 4.

Anyways. If you’re like me and just want to get everything running and don’t reboot your NAS every hour, grab a beer and let’s go!

UPDATE 7 DECEMBER 2011

- Modified startup.sh and shutdown.sh a bit. and made them available for download only. Copy/pasting would truncate the code.

[NOTES]

- This tutorial is a simplified version of the tutorial on the FreeNAS forums created by “asforme”, which again is a modified version of “delicatepc“‘s script. Many thanks to these guys.

- amd64 means support for 64-bit processors. Intel CPU’s with 64-bit are supported!

- Like the previous tutorials, we’re going to use “Zeta” as our disk mount. This is a ZFS mount. Of course create and/or use your own mount every time this name is mentioned. 

- Obviously, change the IP address in the tutorial to your own IP address.

- Turn on SSH by going to your FreeNAS webinterface -> services -> SSH. Make sure “login as Root with password is checked”.

- Copy and paste commands which are more than 1 row long, into a text editor first to make sure everything gets executed as it should.

- Create a share (AFP, CIFS, whatever..) to access your disk mount, we’re gonna need it later on.

1. Open a SSH connection to your FreeNAS box using Terminal (OSX) or Putty (Windows). In OSX this is done by opening Terminal and typing:

ssh -l root 192.168.1.250

(login with your admin password)

2. We’re going to create a directory to put our downloaders in. 

mkdir /mnt/Zeta/downloaders

And move into that directory:

cd /mnt/Zeta/downloaders

3. Next we need to download all needed packages to get our downloaders working.

fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/py27-cheetah.tbz ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/py27-openssl.tbz ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/py27-yenc.tbz ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/unrar.tbz ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/unzip.tbz ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-stable/Latest/par2cmdline.tbz 

Yes, this is one big command. If you watch closely, you’ll see the packages get installed. 

If you’re running the i386 build of FreeNAS 8, you could try this tutorial by changing “amd64” to “i386” in the above command.

If you get “broken pipe” or “file not found” errors, check if your network configuration is set in FreeNAS. If the error still occors, it could be that paths have changed at the FreeBSD server. Try to find out what the correct paths are by FTP’ing to ftp.freebsd.org/pub/FreeBSD/….

4. Extract the downloaded packages using the foreach command. That way, we don’t have to use the extract command for each one of the downloaded packages. Way faster.
Besides that, we’re extracting only the bin and lib folders so no unneeded files like README’s get copied. 

foreach fn ( *.tbz )

tar -xjf $fn bin lib 

end

If  you get any error’s here, don’t worry, that’s normal.

5. Cheetah seems to be weirdly packaged so we need to do some extra stuff here.

mv lib/python2.7/site-packages/Cheetah-*.egg/Cheetah lib/python2.7/site-packages/

rm -R lib/python2.7/site-packages/Cheetah-*.egg

rm *.tbz

6. We’re going to download the first downloader: SABnzbd. Fetch the latest version:

fetch http://sourceforge.net/projects/sabnzbdplus/files/sabnzbdplus/sabnzbd-0.6.10/SABnzbd-0.6.10-src.tar.gz

At the moment of writing, 0.6.10 is the latest SABnzbd version. If you’re reading this tutorial at a later time, make sure you grab the latest package. Just change “0.6.10” to the newest version number.

Next, unpack SABnzbd.

tar -xvf SABnzbd-0.6.10-src.tar.gz

Move it to a new folder called “SABnzbd”. 

mv SABnzbd-0.6.10 SABnzbd

And remove the compressed package:

rm *.gz

Create a new directory for the SABnzbd config file:

mkdir sabconfig

7. Next up is CouchPotato, our Movie watchman.
Fetch the latest version of CouchPotato:

fetch http://github.com/RuudBurger/CouchPotato/tarball/master

Unpack:

tar -xzf master

Remove the compressed package:

rm master

Change the folder name to “CouchPotato”. For easy reading.

mv RuudBurger-CouchPotato* CouchPotato

8. Next up: Sick Beard. our usenet PVR.
Fetch the latest version of Sick Beard:

fetch “http://github.com/midgetspy/Sick-Beard/tarball/master”

Unpack:

tar -xzf master

Remove the compressed package:

rm master

Change the folder name to “SickBeard”.

mv midgetspy* SickBeard

 9. Next up, a fairly new downloader: Headphones. Does the same thing as Sick Beard and CouchPotato, only for music. Try it!
Fetch the latest version of Headphones:

fetch http://github.com/rembo10/headphones/tarball/master

Unpack:

tar -xzf master

Remove the compressed package:

rm master

Change the folder name to “Headphoones”.

mv rembo10-headphones* Headphones

Next up, we’re going to create the startup.sh file. We’re gonna use this file to fire up our downloaders and later on (in an updated tutorial) set this file as a startup when we run our FreeNAS server.

There were some problems when the startup.sh file was created using nano. Thing was; users seemed to just copy the rows of text into nano, which leaded to truncated text. So if you want to do it right, I advise to mount your share (Zeta) in Windows/OSX/Linux/whatever and create the startup.sh file in your /mnt/Zeta/downloaders/ directory from there.

10. Stay in your ssh session and set permissions for your downloaders folder.
Go one folder down: 

cd..

And change permissions:

chmod 777 downloaders

Now you can freely add files to your downloaders directory. Create a file named “startup.sh”.

Download the file from here.

11. Launch your startup script by typing the following:

bash /mnt/Zeta/downloaders/startup.sh

That seems to be it guys. If someone manages to get the startup working, please let me know.

I’m working on a shutdown script. this is the script for now and should be working for the downloaders. Run this script when you’re planning to reboot your NAS.

Download the file here.

Replace the XXXXXXX… with your SABnzbd API key.

  1. rogervaessen posted this
blog comments powered by Disqus