
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
No Premium Features
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
Symptoms
- QuickBox Pro v3 installed and configured
- User account created on the server
- Organized media library (movies, TV shows, music)
- Sufficient disk space for media storage and ffmpeg compilation
Resolution
- Use QuickBox's qb command for installation
- Automatic ffmpeg compilation from jellyfin-ffmpeg source
- Per-user installation with isolated settings
- Latest stable or beta version from official Jellyfin releases
Basic Installation
Install Jellyfin for a specific user:
qb install jellyfin -u usernameBeta Installation
Install latest beta/unstable version for early features:
qb install jellyfin -u username --betaAdvanced Installation Options
# Install with custom domain and SSL
qb install jellyfin -u username -d 'jellyfin.yourdomain.com'
# Install beta with custom domain
qb install jellyfin -u username --beta -d 'jellyfin.yourdomain.com'CLI Commands
| Command | Description |
|---|---|
qb install jellyfin -u username | Install Jellyfin stable version |
qb install jellyfin -u username --beta | Install Jellyfin beta/unstable version |
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 |
Automatic Port Assignment
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.
Custom FFmpeg Compilation
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:8096QuickBox Dashboard Integration
Jellyfin 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
Use Cases
Privacy-Focused Media Server
- Complete privacy with no cloud services, tracking, or external accounts
- All data stays on your server under your control
- No telemetry or usage reporting to third parties
- Perfect for privacy-conscious users
Open-Source Alternative to Plex
- Free alternative with all features unlocked (no premium tiers)
- Hardware transcoding available without subscriptions
- Active community development and plugin ecosystem
- Cross-platform apps for all major devices
Multi-User Family Server
- Create separate accounts for family members with access controls
- Parental controls and content restrictions per user
- Individual watch history and recommendations
- Share libraries while controlling who sees what
Related Applications
Monitoring & Statistics
Live TV & IPTV
Media Requests
Additional Resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.