
Jellyfin
Free and open-source media server with complete privacy control
Jellyfin is a free software media system that puts you in complete control of managing and streaming your media. With no premium features, no account requirements, and no tracking, Jellyfin offers a truly private media server experience. QuickBox Pro installs Jellyfin from the latest stable releases with custom-compiled ffmpeg for optimal transcoding, per-user systemd services, auto-incremented ports, and optional beta branch access for early adopters.
Completely Free
No premium tiers, subscriptions, or feature paywalls—100% free forever
Privacy-First
No tracking, no accounts, no cloud services—your data stays yours
Custom FFmpeg
Optimized jellyfin-ffmpeg compiled from source for superior transcoding
Cross-Platform Apps
Apps for Android, iOS, web browsers, smart TVs, and streaming devices
Rich Metadata
Automatic artwork and info from TMDb, TVDb, and other providers
Beta Releases
Optional beta branch access for early features and testing
Jellyfin is 100% free and open source with no premium tiers. All features including hardware transcoding, live TV, and plugins are available to everyone without subscriptions or Plex Pass equivalents.
Installation
Install from the Dashboard
Open App Dashboard → Package Management (/dashboard?mode=packages), find Jellyfin in the catalog (browse Media Servers or search), and click Install. The dashboard streams the install log live and Jellyfin appears in your Application Control panel when it finishes. Reinstall, Update, and Remove are available from the same panel.
In the install dialog you can pick the release channel — Stable (default) or Beta for early features — and optionally set a custom domain with SSL. See Channels & Versions for how channels work.
What you see and can manage is gated by your account: admins manage any user’s apps; regular users manage their own. For the full package flow see App Management.
Install and manage from the CLI
The CLI runs the same install and is suited to automation and scripting. The --beta channel flag and -d domain map to the Dashboard choices above:
qb install jellyfin -u username
qb install jellyfin -u username --beta
qb install jellyfin -u username -d 'jellyfin.yourdomain.com'
qb install jellyfin -u username --beta -d 'jellyfin.yourdomain.com'
qb reinstall jellyfin -u username
qb update jellyfin -u username
qb remove jellyfin -u username
qb help jellyfinThe complete command set:
| Command | Description |
|---|---|
qb install jellyfin -u username | Install Jellyfin stable version |
qb install jellyfin -u username --beta | Install Jellyfin beta/unstable version |
qb install jellyfin -u username -d 'jellyfin.yourdomain.com' | Install with a custom subdomain and automatic SSL |
qb install jellyfin -u username --beta -d 'jellyfin.yourdomain.com' | Install the beta build on a custom subdomain |
qb reinstall jellyfin -u username | Reinstall Jellyfin (preserves data directory) |
qb update jellyfin -u username | Update to latest stable version |
qb remove jellyfin -u username | Remove Jellyfin and clean up files |
qb help jellyfin | Display comprehensive help information |
Updates auto-detect the current channel from the install marker, so you only pass --beta to switch channels. Full flag reference: CLI Reference.
QuickBox automatically assigns ports per user:
- HTTP port: Starting at
8096(auto-incremented per user) - HTTPS port: Starting at
8920(auto-incremented per user)
Find your assigned ports in the QuickBox dashboard or in ~/.config/Jellyfin/network.xml.
QuickBox compiles jellyfin-ffmpeg from source during installation to /home/username/.local/bin/ffmpeg. This ensures optimal transcoding performance with all codecs and features enabled.
Accessing Jellyfin
After installation, access Jellyfin at:
https://your-server-ip/username/jellyfinOr via direct port access:
http://your-server-ip:8096Jellyfin is automatically integrated into your QuickBox dashboard. Find it in the Service Control panel with port and status information. Click the LAUNCH icon to open the web interface.
First-Time Setup:
- Create your admin account (local only—no Jellyfin.org account required)
- Set up your media libraries (Movies, TV Shows, Music, Books)
- Configure metadata providers and language preferences
- (Optional) Enable remote access and HTTPS
Initial Configuration
1. Create Admin Account
On first access, create your local admin account:
- Enter username (no email required)
- Set password for admin account
- Click Next to continue setup
- Your account is stored locally—no cloud registration
2. Add Media Libraries
Set up libraries for your media:
- Click Add Media Library button
- Select library type:
- Movies - Feature films and home videos
- Shows - Television series and episodes
- Music - Audio files and albums
- Books - eBooks and audiobooks
- Add folder paths:
/home/username/media/movies/home/username/media/tv/home/username/media/music- Or custom paths you’ve configured
- Configure metadata providers:
- The Movie Database (TMDb) - Movies and TV shows
- The TVDB - Television series
- MusicBrainz - Music metadata
- Set language preferences for metadata
- Click OK to save library
3. Configure Playback Settings
Optimize transcoding and playback:
- Go to Dashboard → Playback
- Configure transcoding:
- Hardware acceleration: Select your GPU (Intel QuickSync, NVIDIA NVENC, AMD AMF) if available
- Transcoding thread count: Set to number of CPU cores
- FFmpeg path: Should be
/home/username/.local/bin/ffmpeg(auto-configured)
- Set streaming quality preferences:
- Internet streaming: Quality for remote access
- Max streaming bitrate: Bandwidth limits
- Save settings
Service Management
Jellyfin runs as a per-user systemd service.
systemctl status jellyfin@username # Check status
systemctl restart jellyfin@username # Restart service
journalctl -u jellyfin@username -f # View live logs
systemctl enable jellyfin@username # Start on boot (already enabled)
systemctl disable jellyfin@username # Prevent auto-startTroubleshooting
Jellyfin Won’t Start
journalctl -u jellyfin@username -fCheck data directory permissions:
ls -la /home/username/.config/Jellyfin
# Should be owned by username:username
sudo chown -R username:username /home/username/.config/JellyfinFFmpeg Not Found or Transcoding Fails
Symptoms
- Transcoding fails with 'ffmpeg not found' error
- Playback issues with transcoding required
- FFmpeg path shows incorrect location
- Hardware acceleration not available
Resolution
- Verify ffmpeg exists: ls -la /home/username/.local/bin/ffmpeg
- Check ffmpeg path in Dashboard → Playback → FFmpeg path
- Reinstall if ffmpeg missing: qb reinstall jellyfin -u username
- Check logs: journalctl -u jellyfin@username -f | grep ffmpeg
- Verify hardware acceleration device exists: ls -la /dev/dri
Can’t Access Web Interface
# Check if service is running
systemctl status jellyfin@username
# Verify ports are assigned correctly
grep -E "(PublicPort|InternalHttp)" ~/.config/Jellyfin/network.xml
# Check nginx reverse proxy (if using custom domain)
sudo nginx -t
sudo systemctl reload nginx
# Test direct port access
curl http://localhost:8096Hardware Transcoding Not Working
Hardware transcoding requires compatible GPU and correct drivers:
# Check GPU availability (Intel, NVIDIA, AMD)
lspci | grep -i vga
# Verify render group membership
groups username
# Should include: render video
# Add to groups if missing
sudo usermod -a -G render username
sudo usermod -a -G video username
sudo systemctl restart jellyfin@username
# Check /dev/dri device access
ls -la /dev/dri
sudo chown -R root:render /dev/driLibrary Not Scanning
# Manual library scan via web interface
# Dashboard → Libraries → Scan All Libraries
# Check file permissions
sudo chown -R username:username /home/username/media
# Verify Jellyfin can access media directory
ls -la /home/username/media
# Check scanning logs
journalctl -u jellyfin@username -f | grep -i "scan"Configuration Reset
# Backup current configuration
cp -r ~/.config/Jellyfin ~/.config/Jellyfin.backup
# Stop service
systemctl stop jellyfin@username
# Reset configuration (keeps libraries and database)
rm ~/.config/Jellyfin/network.xml
rm ~/.config/Jellyfin/system.xml
# Restart service (will regenerate config files)
systemctl start jellyfin@usernameBest Practices
Do
- Organize media in separate folders (Movies, TV, Music) with proper naming
- Use hardware transcoding if you have compatible GPU for better performance
- Enable automatic library updates for new content detection
- Configure proper metadata providers for your region and language
- Set up multiple user accounts with different access levels
- Regularly update Jellyfin via qb update jellyfin for fixes and features
- Use beta branch if you want early features and can handle occasional bugs
- Create backups of ~/.config/Jellyfin directory before major updates
Don't
- Don't delete the ~/.config/Jellyfin directory—contains all metadata and settings
- Don't manually edit XML config files while Jellyfin is running
- Don't use special characters in filenames that confuse metadata scrapers
- Don't share admin account credentials—create separate user accounts
- Don't install multiple Jellyfin instances per user—use one with multiple libraries
- Don't ignore library scan errors—check logs and fix file permissions
- Don't mix stable and beta installations—choose one approach per server
- Don't store media on the same partition as OS without sufficient space
Related Applications
Monitoring & Statistics
Live TV & IPTV
Media Requests
Live TV, tuners, and HDHomeRun
Tuner discovery, HDHomeRun device pairing, EPG configuration, and IPTV / M3U setup are all configured inside Jellyfin itself, not by QuickBox Pro. If a tuner does not appear, an EPG fails to populate, or an HDHomeRun device is unreachable, the issue is with Jellyfin’s Live TV configuration or your network — not the QuickBox install.
Use the resources below for tuner, EPG, and Live TV troubleshooting. The QuickBox team can help with installation, ports, SSL, and service management — but Live TV configuration is owned by the Jellyfin community.
Live TV and tuner resources
Official Jellyfin docs on Live TV, tuners, and DVR setup
Community Q&A for tuner, EPG, and Live TV issues
Official SiliconDust support for HDHomeRun devices and discovery
M3U proxy that simulates a tuner for IPTV channels in Jellyfin
Additional Resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.