SETTING UP THE ULTIMATE MEDIA SERVER COULDN’T BE EASIER
Setting Up the Ultimate Media Server Couldn’t Be Easier
Not long ago, I moved my Home Assistant installation from my aging Mac mini to a new Raspberry Pi. The main reason for this was that the "spinning rust"—the old hard drive—had become unreliable. While it had a bit of life left, I didn't feel comfortable running Home Assistant on it, as I rely heavily on it to control our smart home and link various services together.
I do have plans to upgrade the 2014 Mac mini—which, unfortunately, has soldered-in RAM and a fixed CPU—by replacing the HDD with a 2.5″ SSD and adding an M.2 SSD via an adapter I found on Amazon. With these upgrades, the mini should be snappy enough with its 4GB of RAM and 1.4GHz dual-core i5 until I get around to building my dedicated workstation server.
In the meantime, I couldn't just let the Mac mini sit on a shelf. So, I decided to set up the "Ultimate Media Server." With help from Docker, Portainer, a few apps from the *arr suite (Servarr), and Plex, it couldn't have been easier.
The Software Stack
I’ve used Plex in the past, and it remains a wonderful front end for any media server. While a Plex Pass subscription adds features like Live TV and DVR, it isn't strictly necessary for my current setup. What I was previously missing was a way to automatically add content to Plex without lifting a finger.
That is where the team at Servarr comes in. Their applications search for TV episodes, movies, music, and ebooks, then send them to your torrent or Usenet client of choice. The "secret sauce" is an app called Prowlarr. It acts as a middleman between your Servarr apps and your indexers; you manage your search engines in one place, and it handles the rest via API magic.
Installation and Infrastructure
For the OS, I chose OpenMediaVault (OMV) 6 with the OMV-Extras and Share Root FS plugins. The OMV-Extras plugin provides a simple way to install Docker and Portainer, while Share Root FS allows me to utilize the disk space not taken up by the OMV OS itself.
- Docker: An open platform for running applications in isolated containers.
- Portainer: A graphical browser-based interface for Docker. It allows you to manage containers without needing to dive deep into command-line coding.
The Workflow
Using Portainer, I deployed a suite of containers:
- Plex: For media streaming.
- rTorrent: For handling downloads.
- The Servarr Suite: Sonarr (TV), Radarr (Movies), Lidarr (Music), and Prowlarr (Indexing).
- Ombi: An all-in-one interface that lets you search for content. It sends requests to the appropriate Servarr app, and once downloaded, the media appears automatically in your Plex library.
- Organizr: This ties everything together in one dashboard, so you don't have to memorize a dozen different web addresses.
Now that everything is configured, life couldn't be simpler. My only remaining concern is the Mac mini's hard drive holding out until my SSDs arrive—and finding a way to migrate the data without accidentally breaking something in the process!
What changes would you make to this setup? Let me know in the comments below! I’m aiming to post new content every Monday, Wednesday, and Friday, so check back soon.
