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 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).
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.
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.
Inside the jellyfin dataset, add a child dataset named config. Keep type as Generic.
Add another child dataset named cache. This stores transcoding temporary files and metadata. Set the Compression level to lz4 (default) for performance.
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.
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.
Click Discover Apps → search for Jellyfin. Select the official Jellyfin app (maintained by TrueCharts or the official catalog). Click Install.
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.
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.
Click Install. TrueNAS will pull the Docker image and start the container. This takes 1–3 minutes depending on your internet speed.
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
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.
Choose a username and strong password. This is your admin account — do not share it. Click Next.
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.
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.
Review settings and click Finish. You will be redirected to the login page. Sign in with the admin account you created.
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
appsuser (UID 568 by default).
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.
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 →