Jellyfin
Jellyfin is the only video server used day to day. It replaced Plex as the primary library; Plex DNS may still exist but is legacy.
Server: TrueNAS Docker app @ 192.168.2.203
Public URL: stream.saxobroko.com
The Windows PC @ 192.168.2.200 is a client — it runs Jellyfin apps for playback but does not host the server.
Quick access
| Where | How |
|---|---|
| Public (recommended) | https://stream.saxobroko.com |
| LAN admin | TrueNAS → Apps → Jellyfin (local port in app config) |
| Windows desktop app | Point server URL at https://stream.saxobroko.com |
Most watching happens through the public URL (Cloudflare Tunnel → TrueNAS). On LAN you can use the same URL or the local port if the tunnel is down.
Clients
TV (living room)
- Android TV / Google TV — Jellyfin app from the Play Store
- Samsung / LG / other — Jellyfin app if available, or Jellyfin Web in the TV browser (works but clunky)
- Setup: Server
https://stream.saxobroko.com, sign in with your Jellyfin user
Prefer the native app when possible; it handles remote control and direct play better than the browser.
Phone / tablet
- Android / iOS — official Jellyfin app
- Offline sync — available per-user if enabled on the server (not required for normal streaming)
- Same server URL as above; credentials are your Jellyfin account, not TrueNAS login
Web
- Any browser at stream.saxobroko.com
- Useful for admin tasks: library scan, user management, dashboard, plugin settings
Windows PC
- Jellyfin Media Player or Jellyfin Desktop on
192.168.2.200 - Good for local network direct play when the mapped
A:drive confirms files exist but Jellyfin has not scanned yet
Library paths and A:/Media
All video libraries point at folders on the TrueNAS pool. On Windows the same tree appears as the mapped network drive:
A:/Media/
├── Shows/
│ └── Show Name (Season 1 Release Year)/
│ └── Season 01/
└── Movies/
└── Movie Name (Release Year)/
Jellyfin on TrueNAS mounts the same share internally (Docker volume), not the Windows drive letter. A: is how you browse and manually drop files from the PC; the server path must stay in sync with Windows network drive and Adding media.
If something exists on A:/Media but not in Jellyfin, the file is on the server — the issue is scan, naming, or library root config, not the Windows mapping.
Users
| User type | Typical use |
|---|---|
| Admin | Library settings, plugins, scans, user management — use sparingly on shared devices |
| Personal / household | Day-to-day watching; limit admin unless needed |
| Kids / guests (if configured) | Restrict libraries or max parental rating in Jellyfin user settings |
Passwords for Jellyfin live in Vaultwarden. Jellyfin auth is separate from Authentik unless you add SSO later.
Creating a user: Jellyfin Dashboard → Users → Add user. Disable unnecessary permissions (delete, download, admin) for non-admin accounts.
Library scan
Jellyfin does not always pick up new files instantly.
Automatic
- Scheduled task — Dashboard → Scheduled Tasks → Scan Media Library (interval depends on server settings)
- Real-time monitoring — if enabled, folder watchers trigger scans on change (heavier on large libraries)
Manual (when media is missing)
- Confirm files on
A:/Mediawith correct folder naming - Jellyfin Dashboard → Libraries → select library → Scan Library
- Or Dashboard → Scheduled Tasks → Scan Media Library → Run
- If still missing: restart Jellyfin app from TrueNAS Apps
See also Jellyfin not showing new media.
Transcoding
Transcoding happens on TrueNAS (Jellyfin container), not on the Windows PC GPU.
| Scenario | Typical behavior |
|---|---|
| LAN, compatible client | Direct play — no transcode, best quality |
| Remote / slow link | Transcode to lower bitrate; CPU load on NAS |
| HEVC / 4K on weak client | May transcode or direct stream depending on client codec support |
Notes
- Check Dashboard → Playback → Transcoding for hardware acceleration settings on TrueNAS (Intel Quick Sync / GPU passthrough if configured — document exact setup on the server when known).
- Prefer direct play on TV apps and desktop when on LAN to reduce NAS CPU.
- Subtitle burn-in forces transcode — use external subtitles or compatible formats when possible.
- Multiple simultaneous remote transcodes are the main CPU stress; plan quality limits per user if the NAS struggles.
Client Settings → Playback can cap bitrate for remote streaming.
Adding media
- Automated: Aither → qBittorrent → Sonarr/Radarr → import into pool — see Aither and trackers
- Manual: Copy into
A:/Media— see How to add media - Trigger scan (above)
Admin UI (LAN)
When you need server-side settings without the public URL:
- TrueNAS → Apps → Jellyfin → open Web UI or note published port
- Or use stream.saxobroko.com with an admin account
Related
- Services on TrueNAS
- Navidrome — music (separate server)
- Network — tunnel and
stream.saxobroko.com - Aither and trackers
- Windows network drive