building my own media server
I love watching movies. Especially older[1] ones, that aged for some time, and had different generations of viewers decide if they had merit. It's not hard to find these movies, but it's gotten harder to watch them — all the streaming services have horrible catalogue design by default, and only license movies for a period of time.
When I was young, I still got to experience people renting movies physically and ripping the contents. Today, there are plenty of ways to download movies, but for legal reasons I won't go into detail here. If you know, you know; if not, it's easy to find out.
I always download movies when I can (if they are public domain, that is). They sit on an external hard drive, and I connect it to one of the two devices I have in my home. Sometimes the subtitles are wonky, or I'm already stressed from setting up my speakers: Managing one more cabled device was too much!
The solution to this problem is a media server: A small PC that runs the services for downloading and serving movies.
the build
Frankly, I don't keep up with current builds, so I asked for advice on Reddit´s /r/buildapc. My requirements were as following:
- be performant enough to last the next years
- have enough space for a decently seized movie collection
- be quiet enough to stand in the living room without being noisy
- have a Wifi connection (again, fewer cables..)
- small form factor
- doesn't cost more than 500€
| Component | Choice |
|---|---|
| CPU | Intel Core i3-12100 3.3 GHz Quad-Core Processor |
| Motherboard | MSI PRO-H610M-E-DDR4 Micro ATX LGA1700 Motherboard |
| Memory | PNY XLR8 16 GB (2 x 8 GB) DDR4-3200 CL16 Memory |
| Storage | Patriot P300 128 GB M.2-2280 PCIe 3.0 X4 NVME Solid State Drive |
| Storage | Seagate Barracuda Compute 8 TB 3.5" 5400 RPM Internal Hard Drive |
| Case | Silverstone PS16B MicroATX Mini Tower Case |
| Power Supply | MSI MAG A550BN 550 W 80+ Bronze Certified ATX Power Supply |
| Wireless Network Adapter | TP-Link Archer T4E 802.11a/b/g/n/ac PCIe x1 Wi-Fi Adapter |
assembly
The last PC I built was a gaming PC a couple of years back, so my skills are rusty. Anyway, I'll just wing it!
Entering the final phase of assembly, I realized that the CPU cooler had to be mounted on the back of the motherboard - so I started all over again. Apart from this oversight, all went well, despite the little room of the MicroATX case.
The crucial step for me is powering on the machine for the first time: Will it even start, or catch fire?
Luckily, this never happened to me and this build ran perfectly fine and quiet.
software setup
I chose Ubuntu as my server OS, and Docker for running the services. For serving the movies I chose Jellyfin over Plex, because for Plex I apparently needed an account which I didn't like that much.
The *arr stack (Radarr, Bazarr, Prowlarr) offer a nice web interface for my SO and me. We enter the name of a public domain movie we want to watch — like Nanook of the North (1922)[2]. Prowlarr checks various indexers, Radarr downloads the movie, and Bazarr finds matching subtitles. I can also set a target profile, eg. 720p, and Radarr checks if my download matches that profile and upgrades it, if necessary.
At last, I'll need a host name for the server. I read a lot of Charles Bukowski's works, and in one of his books his alter ego goes to the racehorse track and places a bet on my boy bobby, which is now my media servers name.
todos, napkin math and closing notes
Some slight grievances I still have to solve with my setup:
- Setup some reverse proxy to make access easier. Right now I type in the static IP and port, or use a bookmark, but this could be easier.
- Figure out how to backup manually edited metadata from Jellyfin. The automatic lookup confuses some movies with others. I overwrite them manually, but I'm pretty sure it's not persisted in my backup right now.
- Monitor power usage and possibly apply some perfomance tuning. The box runs 24/7 and I don't know the effective cost of that — scary!
Aside from the power cost, this build came in at 550€; thats 9.16€ per month over 5 years (even though I hope it runs closer to 10 years).
All in all, I'm very satisfied! Every requirement got checked and the box just runs. I've only encountered minor hiccups, and it was a great tinkering excercise.