n8io
n8io

I'm not lazy. I'm efficient.

Nate Clark
Author

Share


Tags


Twitter


n8io

Creating N8Flix: Part III - Processing Server Configuration

Nate ClarkNate Clark

Creating N8Flix: Part III - Processing Server Configuration

In my previous post Creating N8Flix: Part II - The Processing Server, we walked through a boatload of setup and preparation to get our processing server's media management services running.

In this post it is time to add some minor configuration tweaks to get your services communicating smoothly. All you need to follow along here is a web browser. Command line haters rejoice 🎉!

When you're done you will have a fully automated -- media slaying machine.

Before you begin

If you have not done so already, it is best you read through my first two posts thoroughly. A lot of setup has already taken place and some previous info will carry over into this portion of configuration.

With that said, let's begin.

Getting started

When we last left off, you had just stood up all of the media management services that you need. What else is there to do you ask?

Our configuration checklist:
1. Visit and change login creds on all the services
2. Update any and all API keys
3. Enter your usenet credentials into Sabnzbd (Sab for short)
4. Setup indexer in Sonarr and both Couchpotato instances
5. Apply a few miscellaneous tweaks
6. Kick the tires by downloading your first movie and show

Step 0: Make it easier on yourself (optional)

It makes life much easier if you add the line below to your hosts file before proceeding. It saves your from mind-numbing copy/paste/replace'ing later on.

# On a new line, replacing the <your vps public ip> with the actual ip
<your vps public ip> your.vps.public.ip

# Should look something like the following...
# 123.234.123.12 your.vps.public.ip

Save and exit.

Now you can simply click on each server link below and it will resolve to your running instance.

Step 1: Update Sabnzbd

Checklist:
1. Update username/password
2. Add/Update Usenet credentials

Update username/password

http://your.vps.public.ip:8080/config/general

I assume you know how to update your username and password. So for the remainder of this guide I will skip over the howto for that on each service.

Add/Update Usenet credentials

If you don't know what usenet is or do not have credentials yet, refer back to my first post.

http://your.vps.public.ip:8080/config/server

Click Show Details under the server titled: unlimited.newshosting.com

Enter your Usenet creds for newhosting:
1. Host: unlimited.newshosting.com (or whatever your Usenet provider is)
1. Username: <your usenet username>
2. Password: <your usenet password>
3. Connections: 30 (or whatever your Usenet max connections limit is)

Hit Test to verify.

Hit Save Changes. Done.

Step 2: Updating Sonarr

Checklist:
1. Update username/password
2. Update an indexer

Update an indexer

http://your.vps.public.ip:8989/settings/indexers

Under Indexers, click on NZBGeek.

Enter your NZBGeek's (or whatever indexer you use) credential in the popup:

If you do not have one already, you will need to register a new account with nzbgeek.info. This part is required. You must have a paid account in order to proceed. They allow PayPal for payments, so that was secure enough for me.

Once you've done that, copy your API key from here:
https://nzbgeek.info/geekseek.php?profile

And paste it into the API Key in the Sonarr index popup.

Hit Test to verify.

Hit Save.

Hit Save again at the top right. Done.

Step 3: Updating Couchpotato (release)

Checklist:
1. Update username/password
2. Update an indexer

Update an indexer

http://your.vps.public.ip:5050/settings/searcher/

Enter your NZBGeek or other indexer information as you see above. Make sure the checkbox next to the indexer is checked.

Done.

Step 4: Updating Couchpotato (prerelease)

Checklist:
1. Update username/password
2. Update an indexer

Add indexer

http://your.vps.public.ip:5051/settings/searcher/

Enter your NZBGeek or other indexer information as you see above. Make sure the checkbox next to the indexer is checked.

Done.

Step 5: Live Test

Now that we have configured everything to work in unison, let's test it out. It's the moment you've been waiting for.

TV Shows

First, we test TV show downloads with Sonarr:
http://your.vps.public.ip:8989/addseries

Couple things to note before adding a new show:

  1. The following Paths are already setup to keep your tv shows organized. In order for automation to work, you must choose one or the other:
    • /tv/adult (for adult tv shows)
    • /tv/kids (for kids tv shows)

Downloading Your First TV Episode

Follow the gif below to add a show and download an episode.

Feel free to queue up as many episodes as you would like. To keep things simple I have chosen to upload a single episode here.

Pop on over to Sab to watch it download:
http://your.vps.public.ip:8080

If it fails, read through the Troubleshooting: Failed Downloads section.

Once that download completes, another background process will pick it up and push an encrypted file to your Amazon Cloud Drive. That process typically takes ~10-15min to complete.

While that does it's thing, let's download a movie.

Movies

At this point you are probably wondering "Why are there two Couchpotato instances?"

This is a personal preference, but I like to keep all the Cam/Screener/TeleSync rips separate from the actual Blurays/DVD rips. This helps separate them later on in Plex too.

Download release versions here:
http://your.vps.public.ip:5050 (light UI theme)

Download prerelease versions here:
http://your.vps.public.ip:5051 (dark UI theme)

For example, anything downloaded using Couchpotato (5050) will end up in a /movies/release directory.

Conversely, any downloads started via Couchpotato (5051) will end up in a /movies/prerelease directory.

This is a subtle, but important distinction.

Downloading Your First Movie Release

http://your.vps.public.ip:5050

NOTE: The same steps below apply for Couchpotato - Prereleases (5051) as well

  1. Search for a movie
  2. Add it by selecting the Best quality option.

Pop on over to Sab to watch it download:
http://your.vps.public.ip:8080

If it fails, read through the Troubleshooting: Failed Downloads section.

What about torrents?

Glad you asked. Up until this point you have leveraged Sonarr and Couchpotato to find media. Availability and download info was only being returned from what your Usenet provider has in their library. Usenet is generally more reliable and keeps media for a longer period of time. However new media is slow to propagate there. If you are like me, I often want to download shows or movies as soon as they are available.

With the ephemeral state of the most popular torrent sites, it is currently not feasible to automate torrent downloads. However it doesn't stop us from downloading a torrents manually.

This is where Transmission comes into play:
http://your.vps.public.ip:8091/transmission/web/

On every torrent site you will find a search box. After searching for and finding the media you want do download there will be a magnet download link.

magnet download link

  1. Right click on it and Copy link address.
  2. In Transmission, click the Open Torrent icon in the top left.
  3. Paste the copied link into the Url field.
  4. Set the Destination folder to one any of these depending on the media you chose:
    • /temp/tv (do not add the /adult or /kids suffixes)
    • /temp/movies/release
    • /temp/movies/prerelease

Once it completes, Sonarr or Couchpotato will pick it up accordingly, rename it, and a background process will encrypt and push it up to your Amazon Cloud Drive.

For those that want to change the uname/pwd for Transmission, here are more details on that.

In Summary

We have completed our processing server configuration checklist. Now you should have a fully functioning, fully automated processing server.

One that can:

If you run into issues I will be available on Slack. More details on that here.

Stay tuned for my next post Creating N8Flix: Part IV - Plex Media Server...


Thanks

Many thanks to Max DiOrio for helping me test everything you see in this post.

Troubleshooting

Failed downloads

Problem: Missing articles causing failed download(s) in Sabnzbd

From time to time a download that is queued up adhoc will fail due to something called missing articles.

Solution: Try a Different Version

In it's simplest terms, this means that the download you have queued is corrupt on your Usenet provider. In most cases this can be remedied by selecting a different version to download. At first you don't succeed, try try try again. For automated downloads, Sonarr and Couchpotato will automatically try the next version. Typically this only becomes an issue with downloads you manually add to the queue.

Stalled downloads

Problem: Downloads never start/finish in Transmission

From time to time a torrent that is queued up adhoc won't start or finish due to its poor availability.

Solution: Try a Different Version

In it's simplest terms, this means that the torrent you have queued is not currently being seeded by any peers. Meaning that you can download what isn't available at this time. You can either wait for it come back online (it may never) or select a different version/torrent/magnet url to download. At first you don't succeed, try try try again.

Updating Transmission Login Credentials

Problem: I can't update Transmission login creds

The lackluster UI of Transmission doesn't allow you to update your login credentials.

Solution: Config for the win!

You can update the login creds for Transmission via your ~./bashrc file.
1. nano ~/.bashrc
2. Set the UMS_USER and UMS_PASS values appropriately.
3. Hit Ctrl + X
4. Hit y
5. Hit Enter.
6. Run this command source ~/.bashrc
7. Restart Transmission via the following command:

docker-compose stop transmission && \  
docker-compose rm -f transmission && \  
docker-compose up -d transmission  

Join the Discussion

If you find issues, run into roadblocks, or want to say thanks; join me on Slack: n8io @ plex-n8flix.slack.com:

Invite link:
http://bit.ly/plex-n8flix-slack

Nate Clark
Author

Nate Clark

Comments