Jellyfin is a free, open-source media server — a fully self-hosted alternative to Plex or Emby with no subscription requirements or telemetry, giving you complete control over your media library.
Prerequisites
- Ubuntu 22.04/24.04 VPS: 2 vCPU, 4 GB RAM minimum (more for transcoding multiple simultaneous streams)
- Adequate storage for your media library, or network storage mounted to the server
Step 1 — Install Jellyfin
curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash
Step 2 — Verify the Service Is Running
sudo systemctl status jellyfin
Step 3 — Access the Setup Wizard
http://YOUR_SERVER_IP:8096
Follow the wizard: create your admin account, set preferred language, and configure your first media library.
Step 4 — Add Media Libraries
Point Jellyfin at the directories containing your movies, TV shows, or music — it automatically scans and fetches metadata (posters, descriptions, cast info) from online sources.
Step 5 — Allow the Firewall Port
sudo ufw allow 8096/tcp
Step 6 — Add HTTPS via Reverse Proxy
See How to Install Nginx Proxy Manager with Docker to route a domain to port 8096 with a proper SSL certificate, especially important if accessing your server remotely.
Understanding Transcoding
When a client device can't natively play a file's format/resolution, Jellyfin transcodes it in real time — a CPU-intensive operation; see VPS Requirements for Media Streaming Servers for sizing guidance based on how many simultaneous transcoded streams you expect.
Enabling Hardware Transcoding (If Available)
If your VPS plan includes GPU access, Jellyfin can use hardware-accelerated transcoding, dramatically reducing CPU load compared to software transcoding — configure this under Dashboard → Playback if applicable to your hardware.
Setting Up Remote Access Securely
See How to Set Up Remote Access for Jellyfin/Plex Without Exposing Your Home Network for secure external access patterns, particularly relevant if your media files are stored elsewhere and streamed through this VPS.
Managing User Accounts
Create separate user accounts for family members or friends under Dashboard → Users, each with independent watch history and, optionally, restricted library access.
Mobile and TV Apps
Jellyfin has official apps for most major platforms (mobile, smart TVs, streaming devices) — connect them to your server's URL and sign in with your account credentials.
Common Errors
Playback stutters or buffers constantly — usually indicates the server can't transcode fast enough for the current stream; check CPU usage during playback and consider a more powerful plan or hardware transcoding if available.
Metadata/artwork doesn't appear — verify the server has outbound internet access to reach metadata providers, and that file naming follows Jellyfin's expected conventions for automatic matching.
Continue Reading
- VPS Requirements for Media Streaming Servers
- How to Set Up Remote Access for Jellyfin/Plex Without Exposing Your Home Network
- Choosing Between Jellyfin, Plex, and Emby for Self-Hosted Media
Browse more articles in Media & Streaming Servers.