Skip to Content
Jellyfin

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 username

Beta Installation

Install latest beta/unstable version for early features:

qb install jellyfin -u username --beta

Advanced 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

CommandDescription
qb install jellyfin -u usernameInstall Jellyfin stable version
qb install jellyfin -u username --betaInstall Jellyfin beta/unstable version
qb reinstall jellyfin -u usernameReinstall Jellyfin (preserves data directory)
qb update jellyfin -u usernameUpdate to latest stable version
qb remove jellyfin -u usernameRemove Jellyfin and clean up files
qb help jellyfinDisplay 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/jellyfin

Or via direct port access:

http://your-server-ip:8096

QuickBox 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:

  1. Create your admin account (local only—no Jellyfin.org account required)
  2. Set up your media libraries (Movies, TV Shows, Music, Books)
  3. Configure metadata providers and language preferences
  4. (Optional) Enable remote access and HTTPS

Initial Configuration

1. Create Admin Account

On first access, create your local admin account:

  1. Enter username (no email required)
  2. Set password for admin account
  3. Click Next to continue setup
  4. Your account is stored locally—no cloud registration

2. Add Media Libraries

Set up libraries for your media:

  1. Click Add Media Library button
  2. Select library type:
    • Movies - Feature films and home videos
    • Shows - Television series and episodes
    • Music - Audio files and albums
    • Books - eBooks and audiobooks
  3. Add folder paths:
    • /home/username/media/movies
    • /home/username/media/tv
    • /home/username/media/music
    • Or custom paths you’ve configured
  4. Configure metadata providers:
    • The Movie Database (TMDb) - Movies and TV shows
    • The TVDB - Television series
    • MusicBrainz - Music metadata
  5. Set language preferences for metadata
  6. Click OK to save library

3. Configure Playback Settings

Optimize transcoding and playback:

  1. Go to Dashboard → Playback
  2. 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)
  3. Set streaming quality preferences:
    • Internet streaming: Quality for remote access
    • Max streaming bitrate: Bandwidth limits
  4. 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-start

Troubleshooting

Jellyfin Won’t Start

journalctl -u jellyfin@username -f

Check data directory permissions:

ls -la /home/username/.config/Jellyfin # Should be owned by username:username sudo chown -R username:username /home/username/.config/Jellyfin

FFmpeg 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:8096

Hardware 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/dri

Library 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@username

Best 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

📊

Monitoring & Statistics

🎬

Media Management

📺

Live TV & IPTV

🎫

Media Requests


Additional Resources


Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server