Plex Server 2020

Plex Server 2020

For just $60, you get a PSU that is both ATX 12V and EPS 12V compliant and has an intelligent auto fan to keep your temperatures cool without compromising performance. It has more than enough power to keep a Plex media server going. Disc Drive (LG Super Multi Blu-Ray Disc Rewriter) Wait a minute, you might say. It’s 2020—is a disc drive. To use Plex, install the Plex Media Server on the computer or network-attached server (NAS) device where you store your music, videos, and other media files. Install the Plex app on your other computers, smartphones, tablets, televisions, streaming devices, and game consoles. Then, launch the app and use it to stream your media files from Plex.

Late last year, I bought a Blu-ray/DVD drive for my home computer and ripped all the movies and television shows I have on physical disks. The files are now stored on the NAS running in my local network. I can watch that media on just about any device in my house using Plex, a wonderful piece of software for streaming media around the network.

Today I’ll explain how I set up my system to run Plex’s software via the LinuxServer.io Plex image on a Docker host in my basement.

Want to learn more about my home network? Last time I wrote about running a Unifi Controller image.

About LinuxServer.io

LinuxServer.io describes their organization as:

A group of like-minded enthusiasts from across the world who build and maintain the largest collection of Docker images on the web. At our core are the principles behind Free and Open Source Software. Our primary goal is to provide easy-to-use and streamlined Docker images with clear and concise documentation.

I’ve been using LinuxServer.io images for a couple of years; they are certainly easy-to-use, clear, and concisely documented. I tend to check here first when I need a new image.

Plex Container Configuration

I tend to use docker-compose to build and run my images and containers. Here are the contents of the docker-compose.yml for this project:

Much of this is derived from the instructions in the image’s README file:
image: linuxserver/plex:1.20.1.3252-a78fef9a9-ls116

Let’s step through some of the interesting bits.

Version

My personal preference is to lock images down to a specific version, if at all feasible. This way I won’t be surprised when, say, a new version of an image requires or breaks the current configuration. LinuxServer is great about providing versioned images over time.

Personally, I rarely update the Plex image. I don’t use it that often, so new features are not particularly compelling to me.

Devices

Here I make the Intel QuickSync device available to the container. It’s used for hardware transcoding. The README’s Hardware Acceleration section has more information.

Cheap plex server 2020

Environment

LinuxServer has a great system for setting user and group permissions. In this case, I have PUID and PGID set to the user and group number on my host system. (I have the comment there so that, when I look at this file again three months later, I can remember why I have some hardcoded numbers typed into the file.)

Plex Server Build 2020

Services

These ports are recommended by the image’s README file. The README and comments document what all of them are for. In my case, I’m running in bridge more, and two of the port mappings are commented out because they were conflicting with something else on my system. I avoided the problem by not using those mappings, and everything is working well enough in my home. Your mileage may vary. Check the README for more information.

Plex Server 2020

Volumes

Plex Server Build 2020

Last are my volume mappings. Two things of note:

  • I map the two Media directories read-only to provide a little extra protection if something goes wrong.
  • I have the transcode directory mapped separately from the config directory so that it’s easier to back up one without the other.

Getting a Little Trickier

Plex Server 2020

This configuration is a smidge more sophisticated than the Unifi Controller configuration I wrote about last time. It’s got a device mapping, a different kind of networking, and some trial-and-error port configuration. But it’s hopefully still not too bad. I look forward to future posts with even more sophisticated setups.