Plex With Automated Requests

By the end of this guide, you will have a server that lets you access your media wherever you want, automatically grabs movies and tv shows when they are requested via a web UI and is optimized for seeding.

Prerequisites

While all of the services we install will be running in Docker, this setup expects you are using Ubuntu 18.04. You can follow along, but when I start talking about mounting hard drives and writing bash scripts you may have to figure stuff out on your own!

The Stack

Here’s the stack we’ll be using. There will be a section describing the installation and configuration for each one of these 🙂

Docker lets us run and isolate each of our services into a container. Everything for each of these services will live in the container except the configuration files which will live on our host.

Portainer allows you to manage your Docker stacks, containers, images, volumes, networks and more ! It is compatible with the standalone Docker engine and with Docker Swarm.

Plex is a “client-server media player system”. There are a few alternatives, but I chose Plex here because they have a client available on nearly every platform.

Transmission is a torrent client. I used to use Deluge but honestly found it pretty buggy and unreliable. Transmission also lets you easily run bash scripts whenever a torrent finishes which is huge.

Jackett is a tool that Sonarr and Radarr use to search indexers and trackers for torrents

Sonarr is a tool for automating and managing your TV library. It automates the process of searching for torrents, downloading them then “moving” them to your library. It also checks RSS feeds to automatically download new shows as soon as they’re uploaded! Radarr Is a fork of Sonarr that does all the same stuff but for Movies

Ombi is a super simple web UI for sending requests to Radarr and Sonarr

Tips for managing your hard drives

  1. Ordered List ItemOptimizing for ratios - I use private trackers to get my torrents, and this means I need to maintain a ratio. If you aren’t familiar with this term, it basically means you should be uploading as much, if not more than you download. The best way I’ve found to do this is to mount your drives directly to the machine that handles your downloads. This means you can configure Sonarr and Radarr to create hardlinks when a torrent finishes. With this enabled, a reference to the data will exist in your media directory and in your torrent directory so Transmission can continue seeding everything you download.
  2. HDD vs SDD - Can also be written as Space vs. Reliability and Speed. I’m a freaking hoarder when it comes to media now, so I go with HDDs. This means I need to worry about my drives randomly dying. If you roll with SSDs, I envy you and you should skip this next section!
  3. HDD Backups vs. Redundancy - HDDs are very prone to randomly dying and you need to prepare for this. You can either set up an array of drives and use something like RAID, but you usually end up losing some space and it’s not very easy to expand. I’m building my library from scratch so I want to be able to expand the space on my server as I download more media. So instead, I mount all of my drives and then use mhddfs to treat them as one file system, and what’s really cool is that it automatically fills up your drives in order. So when a drive is full, I buy the same HDD and copy the contents over then shove the backup drive in my closet. It’s a little bit of manual work, but it’s totally worth the trade-off in my opinion! I’ve already had to expand twice.

Portainer

[1] https://saasbootstrap.com/a-complete-guide-to-setting-up-a-plex-home-media-server-with-automated-requests-downloads/