Port 8096 — Jellyfin
Jellyfin is a completely free, open-source media server — a community-maintained fork of Emby. Port 8096 is its HTTP web interface; port 8920 is HTTPS. Unlike Plex, Jellyfin has no subscription tier — hardware transcoding, remote access, sync, and live TV are all available at no cost. The tradeoff is that you manage it yourself: no Plex relay servers, no cloud features, full self-hosting.
Jellyfin organizes your personal library of movies, TV shows, music, and photos, then streams them to any device via web browser, mobile apps, or smart TV apps. It runs on any hardware from a Raspberry Pi to a full server — though hardware transcoding is much faster on machines with an Intel Quick Sync, NVIDIA, or AMD GPU.
http://[server-ip]:8096 | Admin: create on first visitInstall Jellyfin
# Docker (recommended for homelab)
docker run -d \
--name jellyfin \
-p 8096:8096 \
-p 8920:8920 \
-v /path/to/config:/config \
-v /path/to/cache:/cache \
-v /path/to/media:/media:ro \
--restart unless-stopped \
jellyfin/jellyfin
# Docker Compose version
services:
jellyfin:
image: jellyfin/jellyfin
ports:
- "8096:8096"
- "8920:8920"
volumes:
- ./config:/config
- ./cache:/cache
- /mnt/media:/media:ro
restart: unless-stopped
Replace /path/to/media with the actual path to your media files. The :ro (read-only) flag prevents Jellyfin from accidentally modifying your files.
First-Time Setup
- Open
http://localhost:8096— the setup wizard runs on first visit - Choose your language and create an admin account
- Add media libraries: select the type (Movies, TV Shows, Music) and point to the relevant folder inside
/media - Jellyfin scans the library and fetches metadata (posters, descriptions, ratings) from The Movie Database (TMDB) and other sources
- After setup, the main dashboard shows your library organized by type
Hardware Transcoding
Software transcoding (CPU-only) is slow and power-hungry. Hardware transcoding uses your GPU's dedicated video encode/decode engine, enabling real-time transcoding of 4K content even on low-power hardware. To enable:
- Admin → Playback → Transcoding
- Select your hardware acceleration type: Intel Quick Sync, NVIDIA NVENC, AMD AMF, VA-API (Linux), VideoToolBox (Mac)
- For Docker, pass the device through:
--device /dev/dri:/dev/dri(Intel/AMD on Linux) or use NVIDIA runtime
# Docker with Intel Quick Sync GPU passthrough
docker run -d \
--name jellyfin \
--device /dev/dri:/dev/dri \
-p 8096:8096 \
-v ./config:/config \
-v ./cache:/cache \
-v /mnt/media:/media:ro \
jellyfin/jellyfin
Remote Access
To access Jellyfin outside your home network:
- Port forwarding: Forward port 8096 on your router to the server's local IP — simplest, but exposes Jellyfin directly to the internet
- Reverse proxy with HTTPS: Run Nginx in front of Jellyfin with a Let's Encrypt cert — cleaner, more secure, gives you a domain name
- VPN: Access your home network via WireGuard or Tailscale — most secure, no ports exposed
Jellyfin vs. Plex Comparison
| Feature | Jellyfin | Plex |
|---|---|---|
| Cost | Free (everything) | Free tier, Plex Pass $120/yr for full features |
| Hardware transcoding | Free | Plex Pass required |
| Remote access relay | Manual (port forward / VPN) | Plex relay servers (cloud-managed) |
| Mobile apps | Free (Jellyfin app) | Free app, some features gated |
| Live TV / DVR | Free (with tuner hardware) | Plex Pass required |
| Setup complexity | Higher — fully self-managed | Lower — Plex handles relay automatically |
Troubleshooting
| Problem | Fix |
|---|---|
| Media not showing after adding library | Trigger a manual scan: Dashboard → Libraries → Scan all libraries |
| Buffering / slow playback locally | Enable hardware transcoding — CPU-only transcoding is slow on 4K content |
| Remote access not working | Check port forwarding on router, confirm Jellyfin is set to allow remote connections in Network settings |
| Can't reach from phone on LAN | Use the server's local IP: http://192.168.x.x:8096 — "localhost" only works on the same device |
| Port 8096 conflict | Change in Jellyfin: Admin → Networking → HTTP Server Port |