SKIP TO CONTENT
FL1GHT5 Network

Dec 05, 2025 · Homelab / Beginner · ~2 MIN READ

Build a Private Media Server with Jellyfin

Stream your own legally obtained media collection across your home network, with real backup and remote-access planning.

Who This Is For

Beginner to intermediate.

Think of it like your own living-room movie shelf, streamed to any TV in the house, except you already own everything on it and never have to drive anywhere to rent it.

What You’ll Build

Jellyfin streams a home video or legally owned media file to a browser or supported device.

Prerequisites

  • Docker host
  • Sufficient storage for a media library

Architecture

Organize media folders predictably before importing anything:

Folder Layout

$ /media/movies/
$ /media/tv/
$ /media/music/
$ /media/home-videos/

Deploy with Docker Compose

$ services:
$   jellyfin:
$     image: jellyfin/jellyfin:latest
$     ports: ["8096:8096"]
$     volumes:
$       - ./config:/config
$       - /media:/media:ro

Map Media Read-Only

Mount the media library read-only into the container, Jellyfin only needs to read it, and this prevents an app bug from ever touching your originals.

Create Libraries

In the setup wizard, point Jellyfin at each media folder and let it scan and fetch metadata.

Hardware Acceleration

Enable GPU/iGPU transcoding in playback settings if your hardware supports it, direct play (no transcoding) is always fastest when the client supports the source format natively.

Backup Strategy

  • Server configuration
  • Watch history and user accounts
  • The media library itself (per your normal backup plan)

Remote Access

Prefer VPN access for remote streaming; a reverse proxy works too but needs the same security planning as any other public-facing service.

Security & Backup Notes

  • Only stream media you actually have the legal right to store and play, this article assumes a personal collection of home videos and legally owned media

Troubleshooting

  • Media doesn’t appear, trigger a manual library scan; check the folder structure matches Jellyfin’s expected layout
  • Wrong file permissions, the container user needs read access to the mounted media path
  • Transcoding overload, too many simultaneous transcodes will overwhelm a weak CPU; enable hardware acceleration or limit concurrent streams
  • Playback works locally but not remotely, check your remote-access setup (VPN or proxy), not Jellyfin itself

Lab Finish Line

Jellyfin streams a home video or legally owned media file to a browser or supported device.

What to Build Next

NEXT STEP

Want this running in your business?

Everything in the Lab is a service we deliver. If this guide describes your problem, skip the DIY weekend — send the brief.

FIVE MINUTES TO WRITE · A WRITTEN PLAN BACK · NO SALES CALL UNLESS YOU WANT ONE