If you’ve been following our usenet series from the earliest post, then you should be aware of what usenet is, how it functions, and why it’s superior to other options in many ways. You should also be familiar with what a media server is, why you would want one, and well on your way to having one nestled neatly into your home network.
Today we’re going to discuss the application that will process all of your .nzb files. In case you forgot, or need a bit more clarification, this is the small .xml file that contains the exact location on usenet of the information you’re looking to obtain. These .nzb files come from usenet index sites and are fed to SABnzbd for processing. SABnzbd is going to accept this file, read the information contained in the .xml, connect to your local usenet server, find what you’re looking for, download all the attachments, check the download for errors, attempt to repair the errors if required, unarchive the content, and then move the content into the folder you previously specified in the settings. WHEW! Now you know why it’s your work horse, this thing does it all. No more downloading headers, no more searches, no more manual repair, manual unpacking, or manually moving files.
Is Automation For Me?
Before we dive any further into the nuts and bolts of automating things for your home media server and usenet, we should take a moment to discuss whether this option is for you. Below is a diagram that’s meant to be funny, but there’s some truth in it. To those unacquainted with automation, this is going to appear like a really complicated way of doing things.
While the above diagram is useful, it’s not really the whole story, the image below is a bit more accurate.
This setup is not a “set it and forget it” setup. The brunt of the work is up front during the initial configuration, but the setup does require maintenance. This is an iterative process because you’re using software that’s constantly being developed by a large community of people. Beyond the normal bugs that may crop up from time to time, you’ll also have to manually intervene when any of the applications or indexers change their configuration.
Don’t get me wrong, this system doesn’t require constant attention, but you have to give it some love every now and then. If you notice something’s not working properly, start with the logs and work your way backwards to check all your configurations. Usually the answer is as simple as updating to the latest version, updating a url, or restarting the application.
That being said, ON WITH THE SHOW!
Download and Install SABnzbd
Head to the SABnzbd website and download the version that’s appropriate for the server you’re installing it on. Use this wiki to help walk you through installing the application for your operating system. SABnzbd is written in a coding language called python and the interface is controlled through a browser. You may be used to installing an application on your computer, clicking the icon, and having it open up on your desktop. This is pretty similar except that it’s going to open up in your default browser (Chrome, Firefox, Safari, etc). The big advantage of this setup is that we’ll be able to access SABnzbd remotely. That means you can manage your downloads from any browser anywhere in the world.
Once the install has completed, you should see a browser window open and attempt to go to the page “http://localhost:8080“. In computer parlance, “host” means computer. Ergo, “localhost” means the local computer you’re on. Computers use different protocols to talk to each other and specific ports are mapped to specific protocols. For example, port 80 is typically used for HTTP (web pages), port 21 is used for FTP (File Transfer Protocol), etc. Don’t worry if you don’t really grasp the concept of ports yet, just know that you specify the port you want to use at the end of the url as in “http://localhost:8080“. SABnzbd has assigned itself port 8080 by default. This port can be changed in the settings should you need to have SABnzbd operate on a different port. Make note of these ports though, as you’ll need to reference them when you start setting up your SABnzbd for remote access.
The first time SABnzbd starts up, you’ll be presented with a wizard like the one in the screenshots below.
The only two pages of this wizard I’m going to explain are the “server details” page and the “access” page.
Server Details: This page is asking you to identify your local usenet server. If you don’t know what this is, you should read our other post on usenet. Your usenet provider should have provided you with an access url like, “us.newsgroupdirect.com” along with a username and password. Once you have these things, come back to this screen and enter the information. I would use port “563” and check the box or “SSL“. Enabling SSL encrypts the data being sent back and forth between your server and your usenet provider. If your usenet provider doesn’t have SSL, go get a better usenet provider that does.
Access: This page is asking you to specify the details about how you’d like to access the SABnzbd application. Since we’ll be setting this up for remote access, select the radio button for “I want SABnzbd to be viewable by any PC on my network“. You’ll also want to password protect your SABnzbd application since we’re going to make it accessible from the public internet.
***TIP***: If you happen to forget the username/password (or any other configuration for SABnzbd), you can access your “sabnzbd.ini” file with a text editor to see what you had set everything to. Find the location of your sabnzbd.ini file by referencing the SABnzbd Wiki.
Now that you can access your SABnzbd application by going to http://localhost.8080, we’re going to walk you through a bit more of the configuration settings. Rather than explain every single option, I’m simply going to give you screenshots of how I have mine setup and then explain what changes I make from the default setup.
Here are my configuration screens:
The only configuration screens I’m going to discuss are “General“, “Folders“, “Switches“, “Servers“, and “Categories“. All the other options I’m leaving as default. Remember, at any time you can head over to the SABnzbd Wiki to read more about the options and understand what they do.
General: Under the “Web Server” section, I’ve only changed the mobile theme to “Mobile – dark“. Feel free to change your username and password or the port SABnzbd uses. In the “Tuning” section, I’ve set a speed limit of 8192 kbps (8.0 MBs). I did this because I like to leave some bandwidth available for me to surf the web, stream a video, or other general internet stuff. For your own calculations, 1024 kbps = 1.0 MBs. I’ve also told SABnzbd to delete files with the following extensions after a download has completed (.nfo, .sfv, .flv, .srr, .jpg, .nzb, .srs, .par, .par2). Oftentimes, extra files are included with the file you want. Files like trailers, information files (nfo), and other such files are not really needed for our purposes. Feel free to copy these to your configuration if you don’t want these files either (you probably won’t). Don’t forget to save your settings and then restart SABnzbd.
Folders: This page is defining where you want all your downloads to be stored on your computer. SABnzbd uses a temporary download folder to store files while it’s downloading. I refer to this folder as the “Incomplete” folder, you can name it whatever you want. At the top of this page it shows the default base folder. In my case it’s “/Users/(hiddenforprivacy)“. Ergo, when I put “Incomplete” in the field for “Temporary Download Folder“, I’m really telling SABnzbd to use the folder located at “/Users/(hiddenforprivacy)/Incomplete” as the temporary download folder. Once the downloads are completed and unpacked, I’m going to have SABnzbd move these files to “/Users/(hiddenforprivacy)/Complete“. If I want the files to be stored in a location that’s not found in the “/Users/(hiddenforprivacy)” folder, I can specify what’s called an absolute location. For example, I could choose to make the temporary download folder “/Users/SABnzbd/TempDownloads” by entering the entire “/Users/SABnzbd/TempDownloads” into the field. If you’re on a Windows computer, you would use something like “C:\SABnzbd\TempDownloads“. If you want to use an external drive on your MAC, you might use something like, “/Volumes/Drobo/SABnzbd/TempDownloads“.
***Note***: First, Make sure you have your folders setup as we suggested at the end of our media server post. Second, do NOT make your completed download folder the same as your root shared folder, shared “Movies” folder, or shared “TV Shows” folder. Eventually, it will work like this… SABnzbd will use “Incomplete” as a temporary folder as it’s downloading the file. Then it will move it to “Complete” when it’s done. Inside the “Complete” folder we’ll have one folder for movies and one folder for TV. On a certain time interval, SickBeard will scan your “Complete/TV” folder for new shows. SickBeard will identify the show, rename the file, and move the file to the appropriate show and season folder in your shared “TV Shows” folder. Likewise, on a certain time interval, CouchPotato will perform the same actions regarding files in your “Complete/Movies” folder.
Switches: The “Switches” section allows you to turn certain features off and on. As I’ve stated earlier, I’m only going to take you through the ones I changed and tell you why. The first toggle is the “Action when encrypted RAR is downloaded“, set that one to “Abort“. This basically means when it detects that a download requires a password (which you likely won’t have) it will abort the download altogether. Next, set “Ignore Samples” to “Do not download“. Who wants a sample video? Not me, probably not you either. Uncheck “Enable SFV-based checks” and “Check result of unpacking“. No need to waste any time with these extra checks in my opinion. The rest of the switches I leave default.
Servers: This section should contain the settings for your usenet server. We entered most of the settings during our wizard setup. However, we now need to enter our usenet server’s retention limit. The retention limit is how long the usenet server will keep the file on their servers before they delete it and make room for new files. Your usenet provider should have this listed on their website. For example, my provider NewsGroupDirect currently has a 2,046 day binary retention.
Categories: This is the section where you can specify what kind of download you’re downloading and have SABnzbd move them into the appropriate category folder. We’re going to create two categories, “Movies” and “TV“. Use the pictures I posted to make your settings match mine. These two sections are for our public domain Movies and TV Shows.
Downloading With SABnzbd
Now that we have our SABnzbd configured, let’s have some fun. Below is a link to download a .nzb file that we’re going to feed to SABnzbd to test your configuration. This .nzb file will download George A. Romero’s Night of the Living Dead. As I’m sure you’re familiar, Night of the Living Dead entered the public domain because the original theatrical distributor, the Walter Reade Organization, neglected to place a copyright indication on the prints.
From the main screen you’re going to click the button at the top right which reads, “Add NZB“. You should get a little pop up window like the one pictured. Click the “Choose File” button and find the file you downloaded from above, select the category of “movies” and then click the “Upload” button. Shortly thereafter you should see the movie start to download. If everything goes as planned, it should download the movie, repair if needed, unpack the file, and place the .mkv movie file in the “Complete/Movies” folder on your computer.
So there you have it… If you followed these directions precisely, you should have SABnzbd running with the ability to feed it .nzb files and properly download, repair, unpack, and move your files as we’ve configured it to do. If for some reason your SABnzbd isn’t functioning like you expected, read back through this tutorial and see if you missed anything. If you’re still lost, check out the SABnzbd Wiki or leave a comment.
In our next installment, we’re going to talk a little about APIs, what they are and how to use them to send .nzb files directly to SABnzbd from our index sites. We’re also going to discuss port forwarding and how we’ll use that to remotely access our SABnzbd (and other applications) remotely. We might also work in a few other little tips and tricks, so stay tuned (or continue reading) our usenet series.