Netflix Took Your Show. Again.
You were four episodes into that documentary about competitive cheese-rolling when it happened. Gone. Removed. Quietly disappeared from the platform at 3am like it owed someone money.
This is life in 2026. You’re paying for Netflix, Disney+, Max, Paramount+, Apple TV+, and Peacock — somehow spending more per month than cable ever cost — and you still can’t find anything to watch. The content libraries rotate like a broken slot machine. Prices go up every six months. The UI gets worse with every update.
There’s a better way. It’s called self-hosting your media, and once you’ve done it, you will never look back.
Two names dominate this space: Jellyfin and Plex. One is fully free and open source. One is polished, freemium, and has a massive ecosystem. Both will serve your movie collection better than any streaming service ever will. Let’s break them down.
Why Self-Host Your Media at All?
Before we get into the versus, let’s establish why you’d bother.
Your ripped Blu-ray collection, your legally-obtained TV shows, your home videos, your concert recordings — none of that lives on any streaming service. But it can live on a server in your house and stream beautifully to every device you own, anywhere in the world.
Self-hosted media servers give you:
- Permanent ownership — content doesn’t vanish overnight
- No monthly fees (beyond your hardware and electricity)
- Better metadata, artwork, and organization than your file system ever had
- Offline access, transcoding, multi-user libraries, parental controls
- The smug satisfaction of explaining to people that you “run your own Netflix”
The only real costs are storage and a bit of setup time. Both of which you’ve got, or you wouldn’t be reading a blog called “The Art of Wasting Time.”
Jellyfin: The Free One (Actually Free)
Jellyfin is a fork of Emby from back when Emby went closed-source and the community collectively said “no thanks.” It is 100% free, 100% open source, and requires zero accounts, zero phone-homes, and zero surprise paywalls.
What you get:
- Full media library management for movies, TV, music, photos, and books
- Hardware transcoding — free, no license required (Intel QSV, NVIDIA NVENC, AMD AMF all supported)
- Live TV and DVR support (with a tuner)
- Multi-user support with individual libraries and permissions
- Mobile apps for Android and iOS (free, no subscription)
- A web UI that has gotten genuinely good in recent years
- Active community and plugin ecosystem
The honest downsides:
The mobile apps, while functional, aren’t quite as polished as Plex’s. Remote access setup can require a bit more manual work (reverse proxy or VPN recommended). The UI, while improved, occasionally shows its open-source roots in small ways — a button in a weird place, a setting buried three menus deep.
But here’s the thing: it costs nothing. Zero. The hardware transcoding that Plex charges $120+/year for? Free in Jellyfin. That alone is a significant argument.
Plex: The Polished One
Plex has been around since 2008 and it shows — in a good way. The apps are slick. The UI is clean. Remote access works out of the box. Your non-technical family members can actually use it without calling you for help.
What you get:
- Beautiful, consistent apps across every platform (TV, phone, tablet, web, game consoles)
- Rock-solid remote access via Plex’s relay servers
- Plex Pass (paid) for hardware transcoding, live TV, mobile sync, and more
- A built-in free streaming service (Plex’s ad-supported content, if you want it)
- Great metadata matching and library organization
- Tautulli integration, Overseerr/Requestrr ecosystem
The honest downsides:
Plex Pass. To unlock hardware transcoding — something Jellyfin gives you for free — you need Plex Pass at roughly $5/month, $40/year, or $120 lifetime. For a single-user homelab, the lifetime pass is worth it eventually. For a fresh setup where you’re not sure you’re committed yet, it’s a barrier.
Plex also requires an account and connects to Plex’s servers for authentication. That’s a non-issue for most people but it is a third party in the loop. When Plex’s auth servers went down in 2024, people couldn’t access their own local media. That happened.
The Comparison Table
| Feature | Jellyfin | Plex |
|---|---|---|
| Cost | Free forever | Free tier / Plex Pass ($40/yr or $120 lifetime) |
| Hardware Transcoding | Free (QSV, NVENC, AMF) | Plex Pass required |
| Account Required | No | Yes |
| Mobile Apps | Free (functional) | Free (polished) |
| Live TV / DVR | Yes (free) | Yes (Plex Pass) |
| Remote Access | Manual setup / Tailscale | Built-in (via Plex relay) |
| Multi-user | Yes | Yes |
| Plugins / Ecosystem | Growing | Mature and large |
| Open Source | Yes (GPLv2) | No |
| Privacy | No phone-home | Auth via Plex servers |
Docker Setup: Jellyfin
Here’s a minimal docker-compose.yml to get Jellyfin running:
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
user: "1000:1000"
network_mode: host
volumes:
- /path/to/config:/config
- /path/to/cache:/cache
- /path/to/media:/media:ro
restart: unless-stopped
environment:
- JELLYFIN_PublishedServerUrl=https://jellyfin.yourdomain.com
For Intel Quick Sync hardware transcoding, add:
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
For NVIDIA, you’ll need the NVIDIA Container Toolkit installed, then:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
Then in Jellyfin’s dashboard: Admin > Dashboard > Playback > Hardware Acceleration. Select your vendor, enable HEVC if your hardware supports it, and you’re done.
Docker Setup: Plex
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
- VERSION=docker
- PLEX_CLAIM=claim-XXXXXXXXXXXXXXXXX
volumes:
- /path/to/config:/config
- /path/to/media/tv:/tv:ro
- /path/to/media/movies:/movies:ro
restart: unless-stopped
Get your PLEX_CLAIM token from plex.tv/claim — it expires in 4 minutes, so have your compose ready to run. First-time setup happens at http://your-server-ip:32400/web.
For Intel QSV hardware transcoding with Plex:
devices:
- /dev/dri:/dev/dri
Then in Plex settings: Settings > Transcoder > Enable hardware-accelerated video encoding. Requires Plex Pass to actually use.
So Which One Should You Use?
Choose Jellyfin if:
- You want zero ongoing cost
- Privacy and open source matter to you
- You’re comfortable setting up a reverse proxy or using Tailscale for remote access
- You have good hardware and want free transcoding
- You’re the only user or your users are technical enough to handle a slightly rougher app experience
Choose Plex if:
- You want the most polished experience with zero friction
- You’re setting this up for family members who won’t tolerate tech hiccups
- Remote access out of the box is important to you
- You’re willing to pay the lifetime Plex Pass once and forget about it
- You want the largest plugin/app ecosystem
The honest answer: For a personal homelab, Jellyfin is the better long-term choice. The gap in polish has narrowed considerably in the last two years, and “free hardware transcoding forever” is not a small deal. If you’re setting up for a household of non-technical users, Plex’s smoother onboarding might be worth the Plex Pass cost.
Many people run both. Jellyfin for the household, Plex for the one family member who insists on using a Roku.
The Bottom Line
Streaming services have decided that the correct price for watching television is “all of your money, continuously, forever, for content we might remove without warning.” Self-hosting is the obvious response.
Both Jellyfin and Plex will serve you well. Jellyfin is the principled choice — free, open, private, and increasingly capable. Plex is the pragmatic choice — polished, reliable, and familiar to anyone who’s ever used a streaming app.
Either way, you’re done paying $18/month to be recommended the same five shows in slightly different tile arrangements.
Set up the Docker container. Rip your discs. Point it at your media folder.
That cheese-rolling documentary isn’t going anywhere this time.