I’ve gotten a few requests from various places to show my Plex server to the world, this is not by any means as good as it gets but it is mine and it works phenomenally. I’ve had a lot of concurrent streams with this thing and it’s yet to break a sweat.
The Plex box itself is a whitebox build in a 4U hotswap case. The specs are as follows:
- Windows Server 2012 R2 Standard 64-bit
- ASUS P9X79 WS (LGA2011)
- 32GB DDR3 @ 1333MHz (9-9-9-24)
- Intel Xeon E5-1650 @ 3.20GHz (6 Cores 12 Threads)
- Intel 82579V Gigabit Network Connection x2 LACP
- 511MB NVIDIA NVS 310 (NVIDIA)
- LSI 9211-8i x3 (IT MODE)
The box runs Server2012R2 as I’m very familiar with it and actually really like it, this is run on 2 256GB SSDs in RAID1 however due to all the PMS metadata this will be changed to 2x 1TB SSDs very soon, I could just move the metadata to a larger SSD but I prefer this approach.
32GB of memory is pretty overkill but I am quite literally swimming in the stuff so I put it to use, the machine never really goes above 12GB used so it has plenty to spare. The CPU at the time I thought was pretty overkill, I still do a little bit to be honest but I wouldn’t trade it. It takes pretty much anything I throw at it, I’ve seen it transcoding 4 streams without even stepping up its frequencies which is pretty sweet. It’s by no means anywhere near as crazy as I’ve seen some setups, but 6 cores and 12 threads is pretty dope and I still see a lot of life in it. The maximum number of streams I’ve seen it do at once was about 8/9 and it took that like a champ.
You can see in the following image the CPU stats for a few months, during which the server was shared with 30+ individuals.
The case I use does not have an expander built in for the 24 bays at the front, good rackmount cases are not only hard to find, but are extortionate prices here in the UK. I instead get 6 backplanes with an SFF8087 connector which I connect to one port on an LSI9211. I have 3 of these cards installed, which gives me the 6 ports I need as each card has 2 ports. I could get an expander and just use the one card but I had them in my cupboard so no need. These cards are flashed to IT mode and work as HBAs, I’ve also run a driver mod to make them spin down my inactive disks which you can read here.
I have teamed both NICs on the motherboard to allow for more streams to and from the server and this has worked pretty well, the following shows the servers NIC usage from September 2015 – January 2016 and as you can see there is always something being streamed from the machine. The download (green) is completely dwarfed by the upload (purple).
My storage approach has changed many times throughout the years, from being 11 years old and running 2 HDDs on an Atholon X2 system to the 4U rackmount redundant setup I run now.
The big thing for me was resilience. I’ve seen a lot of people not really care as this data is very easy to get back but when you have this much data it just becomes a pain, why go to all that hassle when I can just change a drive and get going again?
I went though much thinking and planning and it all boiled down to expandilility, I wanted a resiliant array(s) but also wanted to be able to add drives to the thing without the whole thing blowing away. Eventually I found FlexRaid which has been working okay. I’ve had many issues and given the choice would have gone with UnRaid or SnapRaid most likely, but for now, it works perfectly. I use a parity based system and can currently loose any 2 disks whilst still having all my data, pretty sweet.
I run a mixture of 4TB drives, trying to only use WD Reds now that I can slowly afford it which gives me (currently) 55TB but as you can see the time is coming to upgrade soon, so this will be even bigger.
As you’ll read below I use Hard Disk Sentinel to monitor all the disks and am alerted when a failure looks likely.
Apart from, of course, Plex itself the server runs various other applications many of which tie into the ecosystem of media streaming. Most of these are extremely common and used in all systems like mine so here it is:
CouchPotato: Pretty much the only app of its kind, everyone I know and have seen uses this and if you’re not or haven’t heard of it, you should be. Makes managing/getting movies so seamless and the recent update made the already aesthetically pleasing GUI even more so.
Sonarr: I used to use Sickbeard which was fine for a long time, for about 5 years, I never needed Sickrage as I only used Usenet for my downloads, however, after a while I switched so Sonarr as Sickbeard stopped being developed and Sonarr allowed for retrying failed downloads, something I was doing manually far too much with Sickbeard. All in all it’s running fantastically and I haven’t looked back since.
SABnzdb: My Usenet binary reader of choice. I don’t really have much to say on this, there are others people recommend too, but this has worked flawlessly for me for many years and it just works.
Transmission-QT: Windows version of the very popular OSX torrent client, I’ve always used this on OSX and after uTorrent started doing fishy business with their ads and reports on botnets I made the switch and love it. Transmission is simple and lightweight and does what it says on the tin.
Filebot: This is a stand-alone application that almost brought me to tears when I discovered it a few years back. Automation is all well and good, but sometimes when I have free time I go hunting the web for missing releases or entire shows/movies and have to manually rename them and move them. No more. Just drag the files into Filebot and if the right information is even slightly there it will rename the file exactly how you like. I’ve dragged literally thousands of files into this and it just spat out correctly names files again and again. Much recommended.
Bulk Rename Utility: I used to use this religiously before I discovered Filebot but it’s still so, so useful. I use it when I need to rename multiple files at once, the GUI is amazing and you can do anything you can think of using it to a large group of files/folders. I have this installed on all of my machines as it always comes in handy.
PlexPy: Used for Plex statistics on user activity. I’ve used a handful of these apps in the past few years, some were okay, some were terrible, but this is the app I have stuck to for the longest and see myself sticking with. It works perfectly well and has very pretty graphs and user stats info; if you’re interested in what your users are doing I would recommend this.
PlexRequests: Allows users to request movies/tv shows straight to the server. This is another godsend, I no longer get my entire family hounding me to add stuff, they can just do it themselves. Authentication comes in many flavors, I have Plex username+password and like to approve all requests, I don’t want any adult content popping up on my server.
Notepad++: If you edit configs at all you should be using Notepad++, if you’re not you can thank me later.
Hard Disk Sentinel: The best HDD monitoring tool I have used hands down. With so many disks in my system I like to know what’s going on. This app emails me reports and warns me about temp/SMART errors and I can do disk tests straight inside the app, perfect.
MKVToolNix: Extremely useful tool for manipulating and re-encoding MKV files. I use it for adding/removing subtitle files and/or audio tracks inside MKVs mostly. You can use this via command line or GUI and I highly recommend this if you need to get down and dirty with MKVs.
MediaInfo: This apps adds itself into my Windows context menu and allows me to interrogate video files. It gives you very fine grain information about them which I find extremely useful when I need to get bitrate info for example.
LockHunter: Sometimes I need to change or delete files that are in use by other applications I can never get he file to be released, this app fixes that. Drag the file or right click and use the app and it will tell you which app is currently locking the file and you can unlock or delete the file straight from there. Works flawlessly.
WinRAR: Duh. I haven’t bought into the 7ZIP fad and don’t think I will, WinRAR works well and has done since I was about 7.
So that’s about it really, it’s taken a lot of time to get to this point but I am very happy with it and rarely have problems. I have made many optimizations and tweaks on my network to ensure that Plex runs smoothly to my local network and the world, there is a lot more than just this box.
Also I forgot to mention before, this thing is silent. The fans that came with it were cheap and loud so I bought replacements for them. High CFM, and low DBA, they cost a stupid amount together, but the thing is completely silent so it was a good investment.
I hope this was informational/interesting/inspiring to those of you out there who are building Plex machines or wanting to! Best of luck! MM~~