Building a Plex Media Server

Enough overview, it’s time to start building. PMS can run on any moderately powered PC or Mac, including your primary desktop. It stays in the background so it won’t bug you with unwanted menus or pop-ups, but it will potentially draw considerable resources while transcoding. If you’re just starting out with Plex and want to experiment, feel free to install the server on your primary PC. But if you’re ready to take things to the next level, a dedicated server is absolutely the way to go.

Next, we’ll talk about some of the options for setting up a Plex server, and then get into some hardware recommendations.

NAS vs. Dedicated Server

Plex Media Server is now available for many of the top network attached storage (NAS) products on the market. Synology, QNAP, Drobo, and more have all rolled out PMS clients that run self-contained on their respective NAS devices. The Plex community maintains a Google Doc listing all known compatible NAS models.

With Plex on a NAS, you can store your media right on the NAS alongside the server software, and have everything run off of one relatively small package. So why doesn’t everyone do this? The answer is that, despite the convenience offered by a NAS-based PMS solution, there is one huge drawback compared to dedicated PMS hardware: transcoding.

As mentioned earlier, a fantastic feature of PMS is that it can automatically transcode content on the fly to suit the client device. So if you’ve elected to fill your media library with terabytes of lossless Blu-ray rips, PMS will seamlessly take care of making sure those files will play fine when streamed to your NVIDIA Shield tablet, for example. As you can imagine, this requires a fair bit of computing horsepower, and an x86-based processor on top of that.

Many NAS devices, unfortunately, especially consumer-grade models, feature ARM-based processors. These models can usually run PMS, but can’t do transcoding at all. Other reasonably priced NAS devices may utilize Intel CPUs, but these CPUs are almost always older and slower parts that can’t keep up with real-time HD transcoding. In order to get adequate x86 silicon in a NAS, you’re likely going to be looking at high-end and expensive models.

If your NAS hardware isn’t capable or fast enough to transcode outgoing video, but is otherwise compatible with PMS, you can still enjoy a smooth experience by paying close attention to your playback devices and the media files you encode. Plex only transcodes video if you explicitly tell it to, or if the client device can’t play back the original file. If the client can play back the original file, Plex will use something called ‘Direct Play’ and simply serve the original file across the network to the client, a process that virtually any modern NAS can handle.

The problem is that, while there are some universal standards, many media clients support different codecs, containers, and bitrates. You’d therefore have to maintain tight controls over your potential playback clients (i.e., only use iPads, or Amazon Fire TVs) or encode multiple versions of each file to ensure compatibility with all of your diverse devices. Otherwise, you won’t be able to play any media that isn’t direct play eligible.

This is where dedicated Plex servers come into the mix. Any x86 PC running Windows, OS X, or Linux can act as a dedicated or shared sever for Plex. With these systems almost guaranteed to have better processors than the typical NAS, the transcoding issues mentioned above become irrelevant. Even when compared to high-end NAS devices with Intel Xeon CPUs, a dedicated server, if built properly, can better handle multiple connections and remote streaming. It’s also easier to access, manipulate, and back up the Plex support and database files from a traditional PC compared to a NAS.

Make no mistake, if you only ever plan to access your Plex Server from an iOS device, or from a houseful of Rokus, then you’ll likely be fine with running PMS on a compatible NAS device as long as you encode all of your media into formats compatible with those devices. But if you want the flexibility to transcode HD content in real time and handle more demanding situations, you’ll want to pony up for some Plex hardware.

Components

The Plex team has a set of minimum and recommended system requirements for a standalone Plex server. We’ll touch on the key hardware areas in more detail.

CPU

Even in the context of the aforementioned NAS debate, you don’t need much horsepower to transcode even high-bitrate 1080p video. But that’s just a single stream. When you start really diving into Plex, streaming it to all rooms of the house, and across the country to your friends and family, you don’t want to see your CPU hit its limit and start throttling transcoding jobs. So, if your budget allows, consider not only your needs today, but what your needs may be down the road. While all video is different, and some scenes will be harder to process than others – the opening birds scene from Planet Earth is a great example – the folks over at Plex have set an average benchmark to shoot for: 2000 PassMark score per 1080p stream. Taking a look at sites like CPU Benchmarks reveals that this leaves a ton of processors on the table.

One the low end, I wouldn’t go below the Trinity-based Athlon X4 740 ($75), which should be good for two simultaneous 1080p streams, with maybe some room to spare for an additional SD stream or two. A good mid-range option is the Intel Core i5-4440 ($195). I just built a server for a colleague based on this chip and it handles three 1080p streams without breaking a sweat.

If you really want to go all-out and stream to the entire neighborhood, you’ll need a high-end option like the i7-4790 ($310) or i7-5820K ($389). In short, next to the network connection that delivers your media, the CPU will be the most important component of your dedicated Plex Media Server if you plan to transcode, and the more money you throw at this component, the more versatility you’ll have when it comes to simultaneously serving high bitrate content to multiple devices.

Memory

If you’re building a dedicated Plex Media Server, you won’t need a lot of RAM. I went with 8GB (2x4GB) for my personal server build out of an abundance of caution. That was more than a year ago, and today that same server only uses about 2.5GB total, despite managing a 30TB library and transcoding streams to up to five local and remote clients.

Prices may make 8GB the better deal, and if you plan to use your server for anything other than Plex you should likely make the jump to more RAM. But if you’re just building a Plex server, 4GB of memory should be more than sufficient.

GPU

Plex currently doesn’t utilize any form of GPU-based processing for transcoding, so the GPU for your server isn’t a huge factor. If you choose a CPU with integrated graphics, just stick with that. If you need discrete graphics, go for the cheapest card that fits your case. There’s no need to waste money on this category.

Case

You’ll want to ensure adequate air flow and cooling for your server, so pick a relatively roomy desktop or rackmount case. I’m currently using a repurposed Silverstone GD07B, but will soon switch to a 4U rackmount case like the Rosewill RSV-R4000. As long as it fits your budget and space, virtually any case will do.

Motherboard

Good networking is arguably the most important factor to consider for your PMS motherboard. A board with dual Ethernet ports would be ideal, as it offers you the option to connect directly to both a NAS and LAN. If your preferred board lacks dual ports, consider a dedicated NIC.

Operating System

Plex Media Server is available for Windows, OS X, Linux, and FreeBSD. Which operating system you use depends on your preferences and plans for the server. Just as before, if you only plan to use this build for Plex, just throw your favorite Linux distribution on there for free; the server will run just great.

If, however, you have grander plans for server, you may want to give Windows Client or Server a shot. You could even repurpose an older Mac as long as it’s running OS X 10.6 Snow Leopard or higher. Personally, I went with Windows 8.1 client, as I wanted to leave the option open to run other Windows apps on the hardware in the future. As for Windows version, I’ve found that 8.1 runs better on equivalent hardware than Windows 7, and I seem to be one of the only people on the planet who doesn’t hate the Metro/Desktop divide (not that I see it much on this particular system, unless I’m remotely logged in for maintenance).

Installing & Configuring Plex Media Server

I began writing this section with the intent of giving you a step-by-step guide on getting started with Plex, but the Plex team has come a long way in recent months with their own guides and tutorials. Instead of wasting space here, just check out the video below and visit their Support page if you have any questions.

Media Storage & Hardware

Now that you’ve got the basics of your server hardware set up, it’s time to think about where you want to actually store your media. There are three basic options that we’ll go over next and, while any of them will work fine on their own, Plex also offers the flexibility to mix and match these options as needed or desired.

NAS

We talked about NAS devices earlier, and why they may not be the best option for actually running the Plex Media Server software. But regardless of your needs from a transcoding perspective, NAS devices are great for simply storing your vast media library.

Any NAS will do, but I’d strongly recommend the use of multiple-disk redundancy for large libraries. Single-disk redundancy schemes, like RAID 5, are increasingly risky as drive and volume sizes continue to expand. There’s some good theory and math behind this position, the full breadth of which goes beyond the scope of this article. In short, however, the principle focuses on the fact that larger disks and arrays take longer to rebuild, and you’ll eventually reach a point where rebuilding a certain size RAID array takes so long that the chance of another disk in the array failing during this rebuild process grows to an unacceptably high level. Utilizing multiple-disk redundancy like RAID 6 helps solve this issue by providing that crucial second level of redundancy during the rebuild, although it, too, won’t be immune from this principle forever.

If you choose a NAS for just your Plex media storage, ensure that you connect it to your network via wired Ethernet, preferably gigabit. Your server will need to respond to requests from a client for a particular media file, find that file on the NAS volume, pull it back to the server, transcode if necessary, and then send the output to the client. While a single stream or two will probably be okay on a robust wireless network, the aforementioned process will be greatly assisted by the presence of dedicated wired networking.

For an even better experience, consider wiring the NAS directly to your server if you have more than one Ethernet port (which many multi-disk NAS devices do). In my own personal Plex Media Server configuration, I have one of my Synology DS2413+’s Ethernet ports connected directly to the box running PMS. On the server, I map the Synology’s local IP address to a network drive and point PMS to exclusively to that location. I then connect the Synology to the rest of my network and the Internet via the second Ethernet port, so that I can access the NAS directly when adding new content or performing maintenance. This setup ensures that, regardless of what else is happening on my network, the media files will get from the NAS to the server unobstructed.

Internal Drives & Arrays

As we discussed earlier, you can build a Plex server in many different configurations. If you choose to go for a big traditional server chassis with lots of internal drives, you can use those very drives for your media storage. Again, however, make sure that you’re using a good form of redundancy if you’re combining multiple internal drives into larger RAID arrays.

Internal drives will likely give you the best performance, although you’ll need to shut down and potentially disassemble your server to replace or expand any of your drives (unless you’re using a chassis with hot-swap drive bays). This option may also be the most “compact,” in the sense that you’ll end up with a single self-contained desktop or rackmount case, as opposed to separate external storage devices all wired up to a dedicated server.

Internal & External Standalone Drives

A great feature of PMS is that it doesn’t require all of your media to be in the same location. As we’ll discuss next, users can combine multiple media locations into a single virtual “library,” allowing for the use of disparate storage solutions that appear unified to the end user.

The benefit of this solution is that users can simply keep adding external or internal drives as their storage needs increase. The bad news, which you can probably guess, is that this method provides no backup or redundancy by default. If adequate backups are maintained, however, or if you opt for dual-disk RAID 1 devices as your “single disks,” this solution can be quite flexible and cost effective, as you’ll be able to expand your terabytes of storage over time without outlaying the capital to build a huge NAS array up front.

Mix & Match

Plex is great about handling media stored in different locations. When creating or editing your various media sections (TV, movies, etc.) you simply enter additional directories where the media stored, regardless of whether they’re local or network locations. This allows you to set up a big NAS to store your TV shows and movies, for example, and then connect a single external drive with home movies, music, or pictures. As long as the server can see the volumes with the media, it will all appear in a single unified interface within Plex.

One piece of advice that applies to all of the above sections, however: no matter where your media is stored, make sure that you segregate media type into separate folders. In other words, don’t combine movies, TV shows, or home movies in a single folder, as this can confuse the PMS agents that scan your files in order to grab metadata from the Web.

« PreviousNext »