UP  |  HOME

Plex Media Server

Table of Contents

Setup

Install the plex media server debian package. Connect on default port :32400/web/index.html. All configuration can be done from the web gui. Point it at your files. Name the files according to the Naming and Organization guidelines.

Add Libraries and point them to directories. I use read-only mount passthrough so my Plex VM can access files on the main host without worry of my files getting modified. I currently have stuff organized as movies, series, education, talks, and live music. For metadata agents I prefer to use Local Media Assets and The Movie Database. Usually this is enough to get good matches with careful naming.

A docker-compose setup

For specifics refer to PMS Docker README.

Grab the image

sudo docker pull plexinc/pms-docker

Create some volumes for config and transcoding

sudo docker volume create plex-config
sudo docker volume create plex-transcode

Write a docker compose file

Listing 1: docker-plex.yml
version: '3.3'
volumes:
  plex-config:
    driver: local
    name: plex-config
  plex-transcode:
    driver: local
    name: plex-transcode
services:
  plex:
    container_name: plex
    image: plexinc/pms-docker
    network_mode: host
    restart: unless-stopped
    environment:
      - TZ=US/Central
      - PLEX_CLAIM=<claimToken>
    volumes:
      - 'plex-config:/config'
      - 'plex-transcode:/transcode'
      - type: bind
        source: /mnt/video_content
        target: /data
        read_only: true
    devices:
      - '/dev/dri/renderD128:/dev/dri/renderD128'
      - '/dev/dri/card0:/dev/dri/card0'

Create the container and start it in the background

sudo docker-compose -f docker-plex.yml up -d

Settings

Remote Access

Enable remote access. I chose to manually specify a port then forward it on my router.

Network

Set Secure Connections to Preferred mostly to allow local access without https.

Check Disable weak TLS versions. Haven't needed it for anything yet.

Set LAN Networks to your IP/Netmask (192.168.1.0/255.255.255.0 in my case).

Set Custom server access URLs to any external DNS (such as Dynamic DNS services) that points to the Plex server.

Add the local network range to List of IP addresses and networks that are allowed without auth as in "192.168.1.0/255.255.255.0".