Home Software How to Install Jellyfin on TrueNAS SCALE: Step-by-Step Guide

How to Install Jellyfin on TrueNAS SCALE: Step-by-Step Guide

How to Install Jellyfin on TrueNAS SCALE: Step-by-Step Guide

Installing Jellyfin on TrueNAS SCALE is the fastest way to turn your NAS into a full media server for movies, TV, music, and photos. This guide walks you through every step — from setting up datasets to launching Jellyfin on port 8096 — so you can start streaming within 30 minutes. We cover TrueNAS SCALE 24.10+ only (Jellyfin is not supported on CORE), with SSD-backed storage recommended for the apps pool. By the end, you will have a working Jellyfin instance that can serve media to any device on your network.

Prerequisites for Installing Jellyfin on TrueNAS SCALE

Before you begin, verify your system meets these requirements. Missing any one of these will cause the install to fail or behave unpredictably.

TrueNAS SCALE24.10+ Required
8GB RAMMinimum for Apps
1 SSDFor Apps Pool
  • TrueNAS SCALE version 24.10 or newer. Jellyfin does not run on TrueNAS CORE (FreeBSD-based).
  • At least 8GB of system RAM. 16GB or more is strongly recommended if you run other apps alongside Jellyfin.
  • A dedicated storage pool for the Apps system — ideally on an SSD (even a single 120GB SATA SSD works).
  • Your media files already stored on a separate pool or dataset that Jellyfin will access.
  • Network access to the TrueNAS web UI (port 443 or 80).
Good to Know:

If you are comparing TrueNAS SCALE vs Unraid for media serving, our TrueNAS vs Unraid guide covers the trade-offs in app support, Docker integration, and licensing costs.

Setting Up Datasets for Jellyfin on TrueNAS SCALE

Jellyfin needs two persistent datasets: one for its configuration files (config) and one for cache/transcoding data (cache). Creating these before installing prevents data loss when updating the app later.

1
Create a parent dataset for Jellyfin

In the TrueNAS web UI, go to Datasets → select your apps pool (e.g., tank/apps) → click Add Dataset. Name it jellyfin. Set the type to Generic.

2
Create the config dataset

Inside the jellyfin dataset, add a child dataset named config. Keep type as Generic.

3
Create the cache dataset

Add another child dataset named cache. This stores transcoding temporary files and metadata. Set the Compression level to lz4 (default) for performance.

Tip:

Use a separate dataset for your media library (e.g., tank/media/movies) and mount it into the Jellyfin container. This keeps your media organized and makes backups simpler.

Installing Jellyfin via TrueNAS Apps (Docker)

TrueNAS SCALE uses Docker containers under the hood for its Apps system. The install process is handled through the built-in Discover Apps catalog.

1
Navigate to Apps

In the TrueNAS web UI, click Apps in the left menu. If prompted, set up the Apps Pool — select your SSD-backed pool. This action enables the Docker runtime.

2
Launch Discover Apps

Click Discover Apps → search for Jellyfin. Select the official Jellyfin app (maintained by TrueCharts or the official catalog). Click Install.

3
Configure storage mounts

Under Storage, add two host path volumes: mount /mnt/pool/apps/jellyfin/config to /config, and /mnt/pool/apps/jellyfin/cache to /cache. Then add your media dataset (e.g., /mnt/tank/media) to /media.

4
Set networking

Under Networking, keep the default port mapping: host port 8096 → container port 8096. This is the web UI port. Optionally, enable TLS on port 8920 if you plan to access Jellyfin remotely.

5
Review and install

Click Install. TrueNAS will pull the Docker image and start the container. This takes 1–3 minutes depending on your internet speed.

💾
Key RuleAlways mount datasets as host path volumes, not ixVolume. ixVolumes are ephemeral and will be destroyed if you reinstall the app.

Why an SSD-Backed Apps Pool Matters for Jellyfin

TrueNAS SCALE stores app configuration, container images, and runtime data on the pool you designate as the Apps Pool. Using an SSD for this pool — even a single 120GB SATA SSD — dramatically improves Jellyfin’s responsiveness, especially during library scans and metadata downloads.

HDDs can handle sequential media streaming fine, but Jellyfin’s database (SQLite) and cache operations involve many small random reads and writes. An SSD reduces library scan times from hours to minutes on large collections. A mirrored pair of SSDs adds redundancy without the performance penalty of RAIDZ.

SSD Apps Pool Benefits

  • Faster library scans (minutes vs hours)
  • Snappier web UI response
  • Lower latency for transcoding cache writes
  • Easier to migrate later (clone to larger SSD)

HDD Apps Pool Drawbacks

  • Slow metadata and DB operations
  • Higher CPU usage during library scans
  • Increased risk of timeouts with large libraries
  • Harder to troubleshoot slow app startups
💾 Expert Note:

If you are on a tight budget, a single 240GB SATA SSD (typically $25–$40) is enough for the Apps Pool. Jellyfin’s config and cache combined rarely exceed 10GB, and Docker images take another 5–10GB. The remaining space allows for future apps.

First-Run Setup: Accessing Jellyfin on Port 8096

Once the installation completes, Jellyfin is ready for initial configuration. Open a web browser and go to http://[your-TrueNAS-IP]:8096.

1
Set the administrator account

Choose a username and strong password. This is your admin account — do not share it. Click Next.

2
Add your media library

Click Add Media Library. Select a content type (Movies, TV Shows, Music, etc.). For the folder path, enter /media (the mount point you set during install). Jellyfin will scan this folder and subfolders automatically.

3
Configure metadata providers

Keep defaults (TheMovieDB, TVDB) unless you have specific preferences. Enable Real-time monitoring if you add files while Jellyfin is running — it will detect changes without a manual rescan.

4
Finish setup

Review settings and click Finish. You will be redirected to the login page. Sign in with the admin account you created.

Tip:

Jellyfin’s default transcoding uses software (CPU). If you have an Intel CPU with Quick Sync Video (7th gen or newer) or a GPU that supports NVENC/VAAPI, enable hardware acceleration in Dashboard → Playback → Transcoding after first login. This reduces CPU load significantly for 4K transcoding.

Post-Install: Verifying and Troubleshooting Jellyfin on TrueNAS SCALE

After setup, confirm Jellyfin is running correctly and fix common issues.

Check that Jellyfin is accessible

From another device on your network, open a browser and navigate to http://[TrueNAS-IP]:8096. You should see the Jellyfin login screen. If not, check the app status in TrueNAS: Apps → Installed → Jellyfin → App Status. It should show Running.

Verify media scanning

Go to Dashboard → Libraries in Jellyfin. You should see your media folders listed. If the library shows 0 items, the mount path is likely wrong. In TrueNAS, edit the Jellyfin app and verify the host path volume points to the correct dataset on your pool.

Common installation errors

  • App stays in “Deploying” state — The Apps Pool may be on an HDD or have insufficient space. Check pool capacity in Storage. Ensure at least 20GB free.
  • Port 8096 already in use — Another app is using that port. Change the host port in the Jellyfin install settings (e.g., 8097) and update your firewall rules.
  • Permission denied on media folders — The Jellyfin container runs as a non-root user. Set the dataset ACL to allow read access for the apps user (UID 568 by default).
Good to Know:

If you are migrating from Unraid or another NAS OS, our Unraid Review 2026 compares Docker management, app catalogs, and storage flexibility between the two platforms.

Bottom Line: Which Jellyfin Install Method Should You Choose?

For most TrueNAS SCALE users, installing Jellyfin via the built-in Apps system is the simplest and most maintainable approach. It gives you automatic updates through the catalog, persistent storage through datasets, and easy port management. The manual Docker Compose method is only necessary if you need advanced networking (macvlan, custom bridge) or want to pin a specific Jellyfin version not in the catalog.

Our recommendation: Use the official Jellyfin app from the Discover Apps catalog on TrueNAS SCALE 24.10+, with an SSD-backed Apps Pool and separate datasets for config, cache, and media. This setup requires minimal maintenance, survives app reinstalls, and performs well even with 4K transcoding if you enable hardware acceleration.

For ongoing management, set up ZFS snapshots of your Jellyfin config dataset before major updates. This gives you instant rollback if an update breaks compatibility. And remember that running Jellyfin 24/7 adds to your NAS power bill — use our NAS electricity cost calculator to estimate the annual impact.

Frequently Asked Questions

Does Jellyfin work on TrueNAS CORE?

No, Jellyfin does not run natively on TrueNAS CORE. CORE is based on FreeBSD, which lacks Docker support — the container runtime required by Jellyfin. You would need to run Jellyfin in a FreeBSD jail manually, which is complex and unsupported by the Jellyfin project. TrueNAS SCALE (Linux-based) is the only official TrueNAS platform that supports Jellyfin through its built-in Apps system. If you are on CORE, consider migrating to SCALE or running Jellyfin on a separate machine.

What datasets does Jellyfin need on TrueNAS?

Jellyfin requires two persistent datasets: a config dataset to store server settings, user data, and the SQLite database, and a cache dataset for transcoding temporary files, metadata images, and subtitle caches. Additionally, you need a dataset for your media library (movies, TV shows, etc.) that Jellyfin will scan. Create these datasets on your storage pool before installing the app, and mount them as host path volumes during the install process.

Should the TrueNAS apps pool be SSD or HDD?

An SSD is strongly recommended for the TrueNAS Apps Pool that hosts Jellyfin. Jellyfin’s SQLite database and cache operations involve many small random reads and writes, which HDDs handle poorly — leading to slow library scans, sluggish UI response, and potential timeouts. A single 240GB SATA SSD (around $25–$40) is sufficient for the Apps Pool. If budget allows, a mirrored pair of SSDs adds redundancy. Use HDDs only for bulk media storage, not for the Apps Pool.

What port does Jellyfin use by default?

Jellyfin uses port 8096 for its web interface by default. This port serves the HTTP web UI and API. If you enable HTTPS, it uses port 8920 for encrypted connections. During the TrueNAS app install, you can change the host port (the external port) to avoid conflicts — for example, map host port 8097 to container port 8096. Just update any firewall rules or reverse proxy configurations accordingly.

📋 Sources & Last Verified:

Last verified: July 09, 2026. Specifications cross-checked against manufacturer documentation where available.

🛡 Shop Recommended Hardware

Prices and stock verified regularly by our affiliate partners. As an affiliate, HomeLabCost may earn a commission on qualifying purchases at no extra cost to you.

Browse Hardware Picks →

homelabcost

HomeLabCost editor covering NAS builds, hardware selection, and homelab server setup guides.

Leave a Reply

Your email address will not be published. Required fields are marked *