Skip to content

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 TasksScan 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)

  1. Confirm files on A:/Media with correct folder naming
  2. Jellyfin Dashboard → Libraries → select library → Scan Library
  3. Or Dashboard → Scheduled Tasks → Scan Media Library → Run
  4. 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

  1. Automated: Aither → qBittorrent → Sonarr/Radarr → import into pool — see Aither and trackers
  2. Manual: Copy into A:/Media — see How to add media
  3. Trigger scan (above)

Admin UI (LAN)

When you need server-side settings without the public URL:

  1. TrueNAS → AppsJellyfin → open Web UI or note published port
  2. Or use stream.saxobroko.com with an admin account