# Jellyfin – Advanced Configuration and Tips

Jellyfin – Advanced Configuration and Tips – Self-hosting guide on your NexoraHost server.

This guide builds on the [Jellyfin basic installation](https://docs.nexorahost.com/en/self-host/jellyfin/install). Here you'll learn how to extend Jellyfin with plugins, set up live TV, automate backups and optimize performance for multiple simultaneous users.

**Note:** The installation guide and hardware transcoding can be found under [Jellyfin – Installation and Setup](https://docs.nexorahost.com/en/self-host/jellyfin/install).

## 1. Installing Plugins

Jellyfin has an integrated plugin catalog. The best plugins to get started:

### Recommended Plugins

    
        Plugin
        Function
    

    
        Intro Skipper
        Automatically detects intros in series and offers a "Skip" button
    

    
        AniDB / AniList
        Better metadata for anime series
    

    
        Fanart.tv
        Additional high-quality covers and background images
    

    
        OpenSubtitles
        Automatically downloads subtitles for your movies and series
    

    
        LDAP Authentication
        Central user management for multiple services
    

    
        Kodi Sync Queue
        Synchronizes Jellyfin with Kodi clients on the network
    

### Installing a Plugin

    - Go to **Dashboard → Plugins → Catalog**
- Select the desired plugin and click **Install**
- After installation, restart the server (click the bell icon in the top right)
- The plugin now appears in the menu under **Dashboard → My Plugins**

## 2. Setting Up Live TV with IPTV

Jellyfin can stream IPTV channels directly. You'll need an M3U playlist from your IPTV provider:

    - Go to **Dashboard → Live TV**
- Click **Add → M3U Tuner**
- Enter the URL of your M3U playlist or upload the file directly
- Optional: Add an XMLTV EPG URL for an electronic program guide
- Click **Save**
- The channels appear in your library after a short scan

## 3. Managing Users and Permissions

For families or shared apartments, you can create separate users with their own libraries:

    - Go to **Dashboard → Users → New User**
- Set a name and password
- Specify which libraries the user can see
- Under **Parental Control** you can set age ratings (e.g. maximum PG-13)
- Each user now has their own playback history and favorites

## 4. Setting Up Automatic Backups

The Jellyfin configuration contains all users, libraries and settings. Back them up regularly:

`# Create backup script
nano ~/jellyfin-backup.sh`
`#!/bin/bash
# Jellyfin Backup Script
BACKUP_DIR="/backup/jellyfin"
DATE=$(date +%Y-%m-%d_%H-%M)

# Create folder
mkdir -p $BACKUP_DIR

# Backup configuration
tar -czf "$BACKUP_DIR/jellyfin-config_$DATE.tar.gz" -C ~/jellyfin config

# Delete old backups (older than 7 days)
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete

echo "Backup completed: $DATE"`
`# Make script executable
chmod +x ~/jellyfin-backup.sh

# Set up daily backup at 3 AM
(crontab -l 2>/dev/null; echo "0 3 * * * $HOME/jellyfin-backup.sh") | crontab -`

## 5. Optimizing Performance for Multiple Simultaneous Users

### Adjust Docker Resources

In `docker-compose.yml` you can set resource limits:

`services:
  jellyfin:
    # ... existing configuration ...
    deploy:
      resources:
        limits:
          cpus: '4'
          memory: 4G
        reservations:
          cpus: '2'
          memory: 2G`

### Optimize Transcoding

    - **Limit thread count:** Under **Dashboard → Playback → Transcoding**, set the maximum number of CPU threads. Don't allocate all cores – otherwise the server becomes unusable with multiple streams
- **Quality settings:** For most users, 1080p at 8-12 Mbps is sufficient. Only stream 4K on the local network without transcoding

## 6. Useful Tips from the Community

    - **Managing collections:** Use the "Collections" feature (e.g. all Marvel movies or Harry Potter series) to keep track of large libraries
- **Playlists:** Create playlists for specific occasions – e.g. "Christmas Movies" or "Documentaries"
- **Remote access without domain:** With a Cloudflare Tunnel or Tailscale, you can securely access Jellyfin from outside even without a public IP
- **Automatically rename media:** Tools like Radarr and Sonarr automatically organize your downloads into the correct folder structure

## Common Problems

**Intro Skipper not working:**

    - The plugin needs time to analyze – especially with large libraries
- Check progress under **Dashboard → Scheduled Tasks → Intro Detection**

**Subtitles not found:**

    - Check if OpenSubtitles is correctly configured (account required, free)
- File names should match the movie title

**Server becomes slow with multiple streams:**

    - Check Docker resource limits (see point 5)
- Reduce transcoding quality or use hardware transcoding

*More guides on plugins, live TV and troubleshooting can be found in the articles in the left navigation.*
