Running Jellyfin on a NAS in 2026: Synology, TrueNAS & Unraid
A NAS is the natural home for a media server - always on, low power, and already storing your files. In 2026, running Jellyfin on a NAS is easier than ever, but each platform has its quirks.
This guide covers the three most popular NAS platforms: Synology, TrueNAS SCALE, and Unraid.
Synology (DSM 7)
Synology is the most popular consumer NAS brand. Running Jellyfin on Synology requires Docker (Container Manager in DSM 7).
Requirements
- Synology NAS with an Intel CPU (for hardware transcoding)
- DSM 7.0 or later
- Container Manager (Docker) installed from Package Center
- At least 4 GB RAM (8 GB recommended)
Important: ARM-based Synology models (J-series, some Value series) cannot run Docker. Check your model before purchasing.
Installation via Container Manager
- Open Container Manager → Registry → Search
jellyfin/jellyfin - Download the
latesttag - Create a container with these settings:
| Setting | Value |
|---|---|
| Image | jellyfin/jellyfin:latest |
| Network | bridge |
| Port | 8096 → 8096 |
| Volume | /docker/jellyfin/config → /config |
| Volume | /volume1/media → /media (read-only) |
| Device | /dev/dri → /dev/dri (for HW transcoding) |
Enable hardware transcoding on Synology
Synology models with Intel Celeron (J4125, J4025) or newer support Quick Sync:
- In Container Manager, edit the Jellyfin container
- Add device mapping:
/dev/dri→/dev/dri - In Jellyfin Dashboard → Transcoding → Select Intel Quick Sync (QSV)
- Enable hardware tone mapping
Synology-specific tips
- Scheduled tasks: Set library scans to run at night to avoid impacting NAS performance during the day
- RAM upgrade: Most Synology models support unofficial RAM upgrades - 8 GB makes a noticeable difference
- SSD cache: Enable SSD cache for the volume containing Jellyfin config to speed up metadata browsing
TrueNAS SCALE
TrueNAS SCALE is a Linux-based NAS OS with native Docker (via Apps) and ZFS storage. It is free and popular among power users.
Installation
TrueNAS SCALE provides Jellyfin as an official app in the TrueCharts or official catalog:
- Apps → Discover → Search Jellyfin
- Click Install
- Configure:
- Storage: map your media dataset
- Networking: set port 8096
- GPU: passthrough your Intel/NVIDIA GPU
GPU passthrough on TrueNAS SCALE
For Intel iGPU:
- System Settings → Advanced → Isolated GPU Devices → Select your Intel GPU
- In the Jellyfin app config → GPU → Select the Intel device
For NVIDIA:
- Install NVIDIA drivers (available in TrueNAS SCALE)
- Pass the GPU to the Jellyfin container
TrueNAS-specific tips
- ZFS snapshots: Use ZFS snapshots for instant Jellyfin config backups - zero downtime
- Dataset structure: Create separate datasets for config and media for better snapshot management
- ARC cache: TrueNAS uses RAM for ZFS ARC cache - ensure Jellyfin has enough RAM left (set ARC limit if needed)
Unraid
Unraid is a popular NAS OS for home labs. It runs Docker natively and has a large community app store.
Installation
- Apps → Search Jellyfin (Community Applications)
- Click Install
- Configure paths:
- Config:
/mnt/user/appdata/jellyfin - Media:
/mnt/user/media
- Config:
- Set GPU passthrough (see below)
GPU passthrough on Unraid
Unraid supports Intel iGPU and NVIDIA GPU passthrough:
- Settings → Docker → Enable "Extra Parameters"
- Add:
--device=/dev/dri:/dev/dri(Intel) - Or install the NVIDIA Driver plugin for NVIDIA GPUs
- In Jellyfin → Transcoding → Enable hardware acceleration
Unraid-specific tips
- Cache drive: Place Jellyfin appdata on the cache drive (SSD) for fast metadata access
- Parity considerations: Jellyfin config writes frequently - keeping it on cache avoids unnecessary parity calculations
- Community plugins: Unraid has excellent community Docker templates with pre-configured Jellyfin settings
NAS Platform Comparison for Jellyfin
| Feature | Synology DSM 7 | TrueNAS SCALE | Unraid |
|---|---|---|---|
| Ease of setup | Easy (GUI) | Medium | Easy (Community Apps) |
| Docker support | Yes (Container Manager) | Yes (native) | Yes (native) |
| HW transcoding | Intel QSV | Intel QSV + NVIDIA | Intel QSV + NVIDIA |
| Filesystem | Btrfs / ext4 | ZFS | XFS + FUSE |
| Snapshot backups | Btrfs snapshots | ZFS snapshots (excellent) | Manual |
| RAM management | Simple | ZFS ARC needs tuning | Simple |
| Community size | Very large | Large | Very large |
| Cost | Hardware purchase | Free OS | $59 license |
Performance Expectations by NAS Hardware
| NAS Model / CPU | Direct Play streams | HW transcode streams |
|---|---|---|
| Synology DS220+ (J4025) | 4-5 | 1-2 |
| Synology DS923+ (R1600) | 5-6 | 0 (AMD, no QSV) |
| Synology DS1621+ (V1500B) | 5-6 | 0 (AMD, no QSV) |
| Custom TrueNAS (i5-12400) | 10+ | 5-6 |
| Custom Unraid (N100) | 6-8 | 3-4 |
Critical note: AMD-based Synology models (DS923+, DS1621+) do not support hardware transcoding. If transcoding is important, choose an Intel-based model.
Common NAS Mistakes with Jellyfin
- Buying an ARM NAS - no Docker support, no Jellyfin
- Buying AMD Synology for transcoding - no Intel Quick Sync
- Not mapping /dev/dri - hardware transcoding silently falls back to CPU
- Storing config on slow array - metadata browsing becomes sluggish
- Not monitoring after setup - NAS hardware is limited, overload happens easily
Monitor Your NAS-Based Jellyfin Server
NAS hardware is more constrained than a dedicated server. Monitoring is even more important:
- Track CPU usage during transcoding (NAS CPUs are weaker)
- Monitor RAM pressure (especially on TrueNAS with ZFS)
- Get alerts when storage is running low
- See active sessions to know when your NAS is under load
JellyWatch connects to your Jellyfin server regardless of whether it runs on a NAS, a mini PC, or a full server - giving you the same real-time monitoring experience.
Running Jellyfin on your NAS? Monitor it from your pocket. Download JellyWatch on Google Play - real-time CPU, RAM, storage alerts, and session monitoring for your NAS-based Jellyfin server.
On Emby instead? Download EmbyWatch on Google Play - the same NAS monitoring experience for Emby servers.




Comments 2
Running Jellyfin on my DS920+ with /dev/dri passthrough. Hardware transcoding works perfectly. This guide nailed the setup.
Important tip from the article: put Jellyfin appdata on the cache SSD, not the array. Made a huge difference in browsing speed.
Leave a comment