Overview
The overarching concept was to make a media server that is as automated as possible. From aquiring media, to organizing and storing it, and to optimizing it for playback, the media server should have as little hands-on time required to make it work the way I wanted. The media server is built on Ubuntu, rather than Windows (the same setup can be done in Windows) due to its stability and ease of maintenence.
This setup will be built upon the Ubuntu setup here and utilizing Docker as I setup here.
Plex
I chose Plex for a two reasons:
- I already have a lifetime license for it and
- The wide avalability of clients and ease of use.
Already having the lifetime license pretty much makes it my go-to out of the box. All of the features are unlocked for one upfront price. I have tried alternatives such as Jellyfin on several occasions, and it never seems as polished or lacks the functionality and ease of use that Plex has. I may switch in the future, if a persuasive enough of a reason arises. However, I have been quite happy with Plex with for nearly a decade now.
Having an easily available client on almost any available platform makes it significantly easier to share with friends and family. They can use almost any device they have and I do not have to worry too much about getting them set-up.
VPN
This is a requirement as my server will be downloading media. ISPs do not care if you are downloading for legitimate purposes or not. This keeps prying eyes from where they should be.
Free VPNs are a no-go right off of the bat. They are free for a reason and have to make their money somewhere. Usually that somewhere is by selling your data no matter how much they claim they strive for "security and privacy".
I personally use NordVPN and have been very happy with the service for the last decade and the price is very reasonable.
Download Clients
I leverage deluge to download torrents and sabnzb to download from usenet.
Both provide a means to aquire media in a digital manner, however there are some important differences:
Torrents:
- no cost to download
- setup is relatively simple
- relies on seeders i.e. other people having the media you are looking for
- requires seeding to share with others
- potentially malicious or low quality files
Usenet:
- requires a subscription for both an indexer service and a provider
- faster downloads
- more secure than torrents
- no seeding files
Currently I am using NZBGeek for an indexer service and UsenetServer as a provider. The indexer allows you to search through Usenet and the provider grants you access to the Usenet.
If you would like to find out more regarding Usenet vs Torrents, you can read about it here.
The ARRs
The Servarr applications provide a way to automatically manage media collections. They will grab, sort, organize, and monitor media held on your server. The official wiki can be found here.
I leverage the following applications:
- Radarr to monitor and manage movies
- Sonarr to monitor and manage TV shows
- Lidarr to monitor and manage music
- Powlarr to keep indexers for seaches syncronised accross the other apps
This portion of setup requirres a little bit more in the way of configuration to get everything to work together properly.
Ombi
Ombi is an application that provides a single web interface for users to request contant to add to your media server. The system for requesting movies and tv shows is highly polished and is the focus of the app. The portion relating to music could use a lot more polish and finishing at the time of writing this.
Simply put, another user who is not technically adept, can log into Ombi using their Plex account and search for media and request that it be added to your server. You can set permissions so that their requests can be auto filled or require approval from you to proceed. This very helpful to allow friends and family members to request media without having to come to you everytime and asking you to do it for them.
Tautulli
Tautulli is an application that allows you to track statistics on your Plex server. You can monitor more specific details about who watched what, when, where and how it was watched. It is significantly better than the tools provided with Plex, and you can use it to help curate your media collection or see how regularly the service is being used.
Tdarr
Tdarr is an application that can automatically transcode video media in your library. I primarily use this to reduce space used by converting videos to the h265 codec. I also use it to standardize what is included in the files such as subtitles or audio tracks, and what type of container the media is kept in.
This helps minimize both disk usage and transcoding that needs to be done by Plex itself during playback.
Overall Flow
The server will funtion as follows:
- Media will be requested via ombi.
- Ombi will communicate with Radarr, Sonarr, or Lidarr to request media.
- Radarr, Sonarr, or Lidarr will search for the requested media using search indexers provided by Prowlarr, prioritizing Usenet over Torrents.
- Radarr, Sonarr, or Lidarr will request the appropriate client, either nzbget or deluge, to download the requested content.
- Once the download has completed, nzbget or deluge will move the media to a folder that Radarr, Sonarr, or Lidarr is monitoring and inform them the download is complete.
- Radarr, Sonarr, or Lidarr will then import the media into the library, oraganizing and naming the media while keeping track of the quality of the media.
- Tdarr will monitor the media folder and proceed to scan any new items. Items that do not meet certain requirements will be transcoded into the proper formats and replace the original media.
- Plex will automatically scan the media directly and when new media is detected, add it to the library and search for metadata.
- Tautulli will keep track of media being played through Plex and record data on watch information.
- Radarr, Sonarr, or Lidarr will monitor the existing libraries and new items added to the search indexers. When a higher quality version of the media is found, if it is within requirements, will automatically download the new version of the media and replace the old.