Port 32400 — Plex Media Server

Plex Media Server is the media management and streaming platform that organizes your personal movie, TV, music, and photo collection and streams it to any device — smart TVs, phones, tablets, Roku, Chromecast, game consoles, and web browsers. Port 32400 is the default for both the local Plex Web app and the Plex API. Access it at localhost:32400/web on the server machine, or remotely at app.plex.tv (Plex routes through its cloud relay automatically).

Plex Web App: localhost:32400/web

Install Plex Media Server

# Docker Compose (recommended)
services:
  plex:
    image: plexinc/pms-docker
    ports:
      - "32400:32400"
    environment:
      - PLEX_CLAIM=claim-XXXXXXXXX   # Get from plex.tv/claim
      - TZ=America/New_York
    volumes:
      - ./config:/config
      - ./transcode:/transcode
      - /path/to/media:/data:ro
    restart: unless-stopped

Get your claim token at plex.tv/claim — it expires in 4 minutes, so have the Docker command ready before fetching it. The claim token links the server to your Plex account during first setup.

First-Time Setup

  1. Open http://localhost:32400/web on the server machine (must access from the server itself on first setup)
  2. Sign in with your Plex account
  3. Name your server
  4. Add libraries: click Add Library, select type (Movies, TV Shows, Music), and browse to your media folder
  5. Plex scans the folder, matches files to The Movie Database (TMDB) or TheTVDB, and downloads metadata
  6. After initial scan, the dashboard shows your library with posters and metadata

Remote Access — How It Works

Plex's remote access is one of its key differentiators from self-hosted alternatives like Jellyfin. When you sign into the Plex app on any device, Plex's relay servers broker the connection to your home server — no port forwarding required. Plex continuously pings its servers to keep a tunnel open from your home network.

For faster remote streaming (bypassing the relay), enable direct connections: Settings → Remote Access → enable external access and configure your router to forward port 32400 to the server's local IP. Direct connections bypass Plex's relay and are faster.

Plex Pass Features

Plex has a free tier and a paid Plex Pass tier ($6.99/month or $119.99/lifetime). Plex Pass unlocks:

  • Hardware transcoding — uses GPU for fast 4K transcoding instead of slow CPU-only
  • Mobile sync / offline downloads — download content to phone for offline viewing
  • Live TV and DVR — requires a TV tuner card/device (HDHomeRun, Hauppauge, etc.)
  • Lyrics — show song lyrics in the music player
  • Multiple user home — managed profiles with separate watch history
  • TIDAL integration — stream music from TIDAL through Plex

Hardware Transcoding Setup

Plex Pass required. Enable in Settings → Transcoder → Enable Hardware-Accelerated Video Encoding. For Docker, pass the GPU device through:

# Intel Quick Sync (Linux)
docker run -d --name plex \
  --device /dev/dri:/dev/dri \
  -p 32400:32400 \
  -e PLEX_CLAIM=claim-xxx \
  -v ./config:/config \
  -v /media:/data:ro \
  plexinc/pms-docker

# NVIDIA GPU (requires NVIDIA Container Toolkit)
docker run -d --name plex \
  --runtime=nvidia \
  -e NVIDIA_VISIBLE_DEVICES=all \
  -p 32400:32400 \
  ...
  plexinc/pms-docker

Troubleshooting

ProblemFix
First setup requires localhost accessYou must open localhost:32400/web on the server itself — not from another machine — for initial setup
Remote access shows "Not Available Outside Your Network"Enable port forwarding on your router: forward TCP port 32400 to the server's LAN IP
Transcoding slow despite Plex PassVerify hardware transcoding is enabled AND the GPU device is passed through in Docker
Media not showing after adding libraryDashboard → Libraries → (⋮) → Scan Library Files to trigger a manual scan
Plex loses server in app after rebootGive the server a static local IP — DHCP address changes break Plex's stored server location