Processor & RAM
While a media server doesn’t need to run at a blistering pace like a gaming desktop PC (no, you don’t need that graphics card) you’ll need to ensure you select an appropriate processor and RAM to suit the type of tasks you wish to run. So consider why you want a media server:
- Do you want a basic setup that will play your media collection locally?
- Do you want something more powerful, that could be used for TV recording, local media streaming and remote video transcoding?
- Is low power consumption important to you (bear in mind that the media server may well be switched on 24/7)?
- Is noise a problem? Do you need the PC to be whisper quiet, or is a little fan noise okay?
The answer to these questions will ultimately frame your component selection. If you’re seeking the lowest possible footprint, in terms of power consumption, then an ARM-based device is certainly an option, but you’ll need to rein in your expectations of what it’ll deliver. Anything over and above local media playback, or perhaps a single direct stream, will be a challenge. You’ll also be limited to a small number of containers running at any one time.
An x86 CPU is definitely a more capable choice for a media server, and I always recommend Intel processors (AMD equivalents are usually a little cheaper). If you’re on a strict budget, modern Intel Celeron and Pentium CPUs are actually a capable option. Again, they’ll deliver the basics well and you should be able to push your media server for real-time transcoding (especially with Emby, but potentially with Plex too). This year’s Intel “Apollo Lake” CPUs are equipped with a host of modern media playback capabilities, including hardware decoding of H.264 and H.265/HEVC video, at 4k resolutions with 60 Hz refresh rate.
However, if you wish to give yourself some additional headroom, I’d recommend you go for an Intel Core i3 or Core i5 system, especially if you plan to use Plex Media Server alongside a range of additional containers.
With regard to RAM, you shouldn’t scrimp here – even on a low-power configuration. The Docker Engine itself won’t use a lot of memory (again, there’s no minimum specification quoted on the Docker website) but obviously, the more containers/apps you run, the greater the pull. As a minumum, I’d recommend at least 4 GB RAM for a very basic setup, but 8 GB will give you greater headroom. RAM isn’t super expensive nowadays, so for peace of mind (particularly on a Windows host) 16 GB gives us plenty of power to use if we need it. RAM prices tend to fluctuate, and while the old advice about buying as much RAM as you can afford is perhaps less relevant nowadays than it used to be, more is usually better.
Now, storage is a critical area for media servers. With the price of traditional, mechanical storage dropping rapidly and new technology hitting the market regularly, it’s worth taking some time to consider your options.
Of course, when we talk about storage it’s worth stating that not all storage is created equal. There’s our system storage, the media we use to boot into our host OS and, of course, our data storage – the drives we need to hold our valuable digital assets, documents and media files. Let’s discuss system storage first.
If you’ve yet to try out a solid state drive (SSD), then now is the time to do so. Over the last few years, dramatic improvements have been made in startup and shutdown times. Pair those improvements with a blisteringly fast SSD system drive and you’ll be going from cold start to using the PC in less than 10 seconds.
Solid state drives themselves are evolving dramatically. Older, 2.5” enclosed SSDs with SATA connections can be purchased more cheaply than ever, with reasonably high capacities. However, they are now being superseded by Mini-SATA (mSATA) and even faster M.2 “naked” solid state drives that offer much smaller footprints. Designed predominately for mobile devices, you could find a motherboard that supports mSATA or M.2 storage to create more physical space in the PC chassis for data storage.
SSDs attached to an M.2 socket can transfer data at standard SATA III rates (6 Gbps), SATA Express rates (10 Gbps), or NVMe rates (20 Gbps) through the PCI Express (PCIe) bus. While mSATA modules slot into a connector that’s similar in appearance to a PCI Express Mini Card interface, the data signals are, in fact, routed through to your motherboard’s SATA host Controller. That means maximum transfer speeds will be limited to the same 3 Gbps or 6 Gbps offered by the standard SATA II/III specification.
If you want to try an M.2 SSD, before selecting your motherboard, be sure to check how many PCIe lanes the motherboard has available. Four PCI lanes will need to be available to achieve the fastest throughput. Most motherboards only offer two (although at the time of writing, motherboards with four PCIe lanes are emerging) so while an M.2 SSD may be compatible from a connector perspective, you may not achieve the maximum speeds.
With regard to media library storage, where data transfer speeds are perhaps less important, traditional, mechanical hard drives are the way to go. Importantly, you no longer have to sacrifice a small physical footprint for high capacity. 6 TB or 8 TB 3.5″ hard drives are now mainstream with 12 TB+ drives set to be released in 2017 and beyond. That means you can configure a small footprint PC with a single hard drive with sufficient capacity for a huge media library. If you wish to combine multiple hard drives – in a RAID array or software-based storage pooled equivalent, then you’ll obviously need a larger case. Such a configuration offers increased capacity and/or redundant storage protection, but do require more physical space.
To optimise your footprint, it’s hard to beat a commercial NAS. The compact, high-capacity chassis manufactured by Synology and QNAP may come at a premium, but they manage to pack in a lot of storage in a very small case. Add the convenience of a pre-built operating system, management software and a wide array of supporting apps? They’re a compelling choice.
Introducing My Test Hardware
This “how to” series is a little more complicated than others I’ve written, as it’s going to be multiplatform. We’ll work through installation and configuration of Docker and accompanying media server apps across a range of hardware. As a result, I’ll be showcasing a number of hardware setups.
I’m not positioning these as “recommended” options that’ll work for everyone. Rather, I’m trying to assemble a range of media server platforms that will help illustrate configuration on various operating systems with varying hardware specifications. That should help me outline any performance issues I encounter on different hardware alongside supporting your own installation and configuration on different host operating systems. I’m also a little contrained by the hardware I have to hand, of course!
So what will I be using? Let’s run through the kit, by host OS.