← All projects

Plex or Jellyfin Media Server

Easy · ~45 minutes · Pi 4 or Pi 5 recommended

Run your own Netflix-style server for the videos and music you actually own. Plex and Jellyfin both work on the Pi — Plex is more polished, Jellyfin is fully open source and free of accounts. Pick one.

Direct play only. A Pi can serve files but it cannot transcode 1080p+ video in real time. Keep clients in sync with your library's formats (MP4/H.264 is safest) and you'll be fine. Anything that needs transcoding will stutter.

You'll need

Option A: Plex

Add the Plex repository:

curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
sudo apt update
sudo apt install plexmediaserver

Open http://<pi-ip>:32400/web, sign in with a Plex account, and walk through the library setup wizard.

Option B: Jellyfin

curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash

Open http://<pi-ip>:8096 and follow the first-run setup. No account required — local admin user only.

Mount your media drive

Find the drive:

lsblk

Get its UUID and filesystem:

sudo blkid

Add to /etc/fstab so it mounts on boot:

UUID=<uuid> /mnt/media ext4 defaults,nofail 0 2

The nofail flag is important — without it, a missing drive will block boot.

sudo mkdir -p /mnt/media
sudo mount -a

Organize for the scanner

Both servers identify content by folder structure:

/mnt/media/
  Movies/
    The Matrix (1999)/
      The Matrix (1999).mkv
  TV/
    Severance/
      Season 01/
        Severance - S01E01 - Good News About Hell.mkv

Troubleshooting