Preface

Nyan Cat

I would like to start off by saying a couple of things:

  • This is not meant to be a guide as to how to set this all up, but more of an explanation as to how it works. You can contact me if you want some help building your own, but I find spaceinvaderone on youtube to be very helpful for this. He explains it set up much better than I could ever do,
  • It glosses over a lot of the difficulties of setup and some ‘unless you do this!’ type situations for the sake of simplicity. It is a very simplified version of the in and outs of Debbie for whoever is interested in knowing. I am by no means an expert in these categories, but I like to share the knowledge that I have.
  • But really, I could talk about these things forever and want to learn more so if you are also interested please talk to me 🙂

Tautulli

Tautulli is a GUI where I can monitor Plex users. It provides useful information to me such as devices, transcodes, bandwidth, watch history, and IP addresses. Although this sounds kind of creepy in a sense, it is fairly important to a server administrator to know such things. Knowing the number of transcodes is very important because it determines how many people can watch at once. I share my server with about 10 other people, but it could not handle 10 people at once (depending on what they watch), so it is good to know if I am hitting that limit or not. Knowing watch history and IP is important because I can tell if users are sharing their accounts or not. I do not allow account sharing because, it puts further strain on my server’s resources if one user is watching two streams at once, and it just increases their usage which increases the chance of high number of people watching at the same time. As I have mentioned previously, there are obvious ways to hide location using a VPN or other means, but I assume my users do not do this and using an IP location finder, I can see if they are watching for themselves or sharing (example, if someone is watching in California, then five minutes later watching in Texas). Tautulli also provides a good GUI with some fun information as well. At the time, this is what my Tautulli looks like for the amount of content I own

Ombi


Ombi is a way for my Plex users to easily be able to request for new or missing this things to add to the server. Since my library is shared with multiple people, it gets tedious to constantly be responding to texts about which movie or show they want and then for me to log into Radarr or Sonarr to manually add it in, Ombi is able to handle this job. Ombi has a good search feature that uses IMDB databases to find the movie and once selected can automatically push it to Radarr or Sonarr if it is a movie of tv show respectively.

Additionally it gives some control as well. Once a user requests for content, I am able to approve or deny it. Ombi also has a good app on android so this makes it very easy to manage newly added content. The login for Ombi is pulled from the logins of Plex, so there is no need to create another account which increases the simplicity.

Plex Media Server

Plex is the core of why I set up Debbie. Plex is a user interface to easily see all your media. Normally, all the files are just stored in folders on my computer and it is, to be short, ugly. It makes it hard to decide and find what to watch looking through so many files. Plex can make some bland files look like this.

Or with different clients or devices it can look like this

This is all in comparison to what my folder structure looks like

It does this by determine what the show or movie is based on the file name and pulls data from other internet sources such as IMDB or TheTVDB to put it into the interface. Also this is also why it is important to have Sonarr and Radarr to be able to rename the files into clear names so it is easier for Plex to match the files with a movie or show

Additionally, what Plex is able to do is play any media almost anywhere. For example, lets say I have a 1080p mp4 movie that I want to watch on a device that does not support mp4 files. Plex will be able to determine which format type is best for that client and will live convert the file to what is best. Additionally, it can also change the quality of the video to suit the client’s internet speed (example, converting a 1080p video into 480p). This is all done in the background and can be done with one click of a button in the Plex interface. This process of changing file types is called transcoding and is not done magically, it requires processing power. That is why I built Debbie with dual Xeons. They are not clocked very fast, but have a lot of processign power, so it can handle multiple people watching at the same time.

My favorite feature is also how easy it is to share my library with others. With one invite link, other users are able to join my library and watch from their own devices. But best of all, it’s completely free! The core functionality to watch media on all your devices is free with no ads. You can, however, pay for some premium features such as downloading or watch on mobile but it is completely not necessary. I did purchase a premium lifetime subscription to support the developers and get some of those premium features since I use it so much. The premium features can also be shared with other family members so I thought it was worth the buy.

Sonarr and Radarr

After setting up a way to download media, Sonarr and Radarr allow me to automatically select which files to download and organize the files. If you manage a small media server, it would be easy to go to a torrent indexer, my favorite being Rarbg (Possible NSFW), and clicking each download. When selecting which torrent to download there are a couple of things to consider, size, quality, seeders, and language. Rarbg is a good indexer because is has all this information available which makes it easy to select a good torrent. It also has a good community of posting higher quality videos. Of course, for a couple of movies, it is easy to just search and click, but my movie library consists of over 400 movies and 7000 TV show episodes so it could clearly get tedious doing this all manually. Essentially Radarr and Sonarr are able to do this automatically for me by searching the Rarbg lists while taking into consideration parameters set by me such as size, quality, seeders, and langauge

The other thing Radarr and Sonarr are able to do is to be able to manage the downloading after selecting the one to download. After it selects the one to download, it sends it to Deluge to begin torrenting. Then, Deluge torrents the file and once it is done, Sonarr and Radarr are able to move the file back from Deluge to my media folders and rename them with the useful information such as name, year, and quality. It will also remove the file from deluge, but I have set it up where it will seed for 3 days before deleting to help out others where are also trying to torrent it.

Deluge-VPN

Torrent Client – Deluge

First and foremost, there needs to be a way to download media from the internet. The most common way to download something from the internet would be to host a file on a server, and a client downloads it to their computer. Although this is the most common, there are a couple of disadvantages.

  1. The bandwidth is limited to however fast the server is
  2. The file must be hosted in one place with fast internet and lots of bandwidth if trying to service a large amount of people
  3. These types of services such as cloud services are usually privately owned, which means they can see what you are sharing and see other private information

This is not to say that downloading from a trusted server is a bad idea, there are many advantages to this such as security and reliability. Torrent comes into play when people want to transfer files between others that one would not want private entities or government agencies to know of.

The way torrenting works is by directly transferring the file between two people. For example, if John and Sara want to share a picture, instead of John adding it to a cloud service and then sharing it with Sara he can directly share it through torrenting. In this case, Sara would be directly downloading the file off of John’s computer with no middle man. Now let’s say, that this file John got from Joe, who got it from Sam, who got it from Jane. So in this made up world, the one picture exists on John’s, Joe’s, Sam’s, and Jane’s computer. Torrenting would allow Sara to download the same picture from all 4 of these people silmultaneously, which in theory would be 4 times the speed. I say in theory because it depends on one’s internet speed. If everyone that owned the picture had blazing fast internet and Sara had terrible internet, she could only download it as fast as her inetnet would allow her. On the other hand, if the 4 people who owned the picture have terrible internet and Sara had blazing fast internet now she would be at an advantage! If she downloaded straight from John lets say it would be 4Mbps, and all of the others that own the same file have the same internet speed. If Sara downloaded from all 4 of these people she could get a theoretical 16Mbps instead of the 4Mbps that she would have downloaded directly from John. Each person downloading is called a seeder, so the more seeders the stronger the torrent is considred. Additonally now she will be able to share the file with others using her faster ineternt to help others who would want the picture as well.

Additionally, not only is there a speed advantage to be had but also the lack of a centralized server. In the previous example, if you noticed the picture was shared using peer to peer sharing or P2P for short. Additionally, each host does not even need the whole picture. Lets say John has the top half of the picture and Joe has the bottom half of the picture, then Sara would still be able to have the full picture. This is advantageous because if someone were to search John’s or Joe’s computer they would not be able to see that they owned this picture, it would look like a bunch of broken bits of a file. Of course, this is an oversimplification, but essentially each file is broken down into tiny bits for everyone to share and the torrent client is able to source the pieces and put them together in the order they should be. The torrent client I use is deluge with an additional vpn

The VPN part of the name refers to Virtual Private Network. This allows me to have a layer of anonymity to the internet. Although it can be seen as an advantage, directly connecting to someone else’s computer is also a disadvantage. This is because, I need the person who I am downloading from’s IP address and they need mine. Having your IP address open might not directly be a security risk, but adds a source of vulnerability to your network that is not needed. Additionally, many ISPs (Internet Service Providers) do not want you to torrent. VPNs allow you to keep your IP address private. The way it works is by sending your internet traffic to another computer then to its final destination. This way if the reciever were to want to find your IP by tracing back where it got the files from, they would see as if your internet traffic came from the middle man’s computer. (There are instances were governments and other entities were able to ask the middle man for their logs which could contain info about your internet traffic and IP, but that is why it is important to pick a good ‘middle man’ and possibly one located in a country like Panama where the US (and almost all other countries) has no jurisdiction and would be extremely difficult to pursue an investigation there. Of course I really doubt anyone would want to spend that much effort into seeing what movie I downloaded last.

Just to prove how easy it is to see what one has torrented, there is a website, where it will use your IP to see what has been torrented with that IP. It is a little creepy how easy it is to see this information. I use Private Internet Access (PIA) because they do not keep logs, have a good history of privacy and support port forwarding which makes torrents download faster. Most importantly for me, it is cheap. A VPN in combination with a torrent client is a good way to download content from the internet anonymously.