Jellyfin
A free media server for your own videos, music and courses
Jellyfin organises the video and music files you already have and streams them to a browser, a phone or a TV app. It is GPL licensed with no paid tier and no account on anyone else's server, which is the main difference from Plex.
Best for when
- you have a folder of videos or courses and want to watch them on any device
- you want a media server with no paid tier and no external account
- you have a GPU that can handle transcoding
Watch out for
- client apps vary in quality across TVs and consoles, so test the device you actually use
- transcoding without hardware acceleration is heavy on the CPU
- exposing it to the internet is a real risk, so prefer a VPN for remote access
Your library, streamed anywhere
Point Jellyfin at a folder and it builds a library with posters, progress tracking and per user accounts. It can transcode on the fly when a device cannot play the original file, and it uses a GPU for that when you give it one.
It suits more than films: recorded courses and tutorials work well, because it remembers where you stopped. A simple setup streams your courses to your phone: Docker Compose with the course folder mounted read only, the port bound to 127.0.0.1, and Tailscale serve publishing it over HTTPS to your private network only.
The real costs
Direct playback is cheap. Transcoding is not: without hardware acceleration a single 1080p stream can keep several CPU cores busy, so set up GPU or Quick Sync transcoding if you expect it. The media itself is the storage cost, and the metadata cache grows with the library.
Keep it private if you can. Exposing a media server to the internet invites scanners and puts your library behind one login screen. A VPN such as Tailscale gives you remote access without that exposure, and the config folder is what to back up.