Skip to content

Jellyfin

Jellyfin is a free media server for managing and streaming media.

Available Options

This page documents 14 configuration options.

nixflix.jellyfin.enable

Whether to enable Jellyfin media server

Typeboolean
Default
false
Declared inmodules/jellyfin/options.nix

nixflix.jellyfin.apiKey

API key to inject into Jellyfin's database. Used by nixflix management services to authenticate to Jellyfin.

Can be created with the following:

openssl rand -hex 16

Warning

Can be a plain string (visible in Nix store) or { _secret = /path/to/file; } for file-based secrets.

Plain-text secrets will be visible in the Nix store. Use { _secret = path; } for sensitive data.

Typestring or (submodule)
Default
null
Example
{ _secret = "/run/secrets/secret-file"; }
Declared inmodules/jellyfin/options.nix

nixflix.jellyfin.package

Jellyfin package to use

Typepackage
Default
pkgs.jellyfin
Declared inmodules/jellyfin/options.nix

nixflix.jellyfin.cacheDir

Directory containing the jellyfin server cache, passed with --cachedir see #cache-directory

Typeabsolute path
Default
"/var/cache/jellyfin"
Declared inmodules/jellyfin/options.nix

nixflix.jellyfin.configDir

Directory containing the server configuration files, passed with --configdir see configuration-directory

Typeabsolute path
Default
"${config.nixflix.stateDir}/jellyfin/config"
Declared inmodules/jellyfin/options.nix

nixflix.jellyfin.dataDir

Directory containing the Jellyfin data files

Typeabsolute path
Default
"${config.nixflix.stateDir}/jellyfin"
Declared inmodules/jellyfin/options.nix

nixflix.jellyfin.group

Group under which the service runs

Typestring
Default
config.nixflix.globals.libraryOwner.group
Declared inmodules/jellyfin/options.nix

nixflix.jellyfin.logDir

Directory where the Jellyfin logs will be stored, passed with --logdir see #log-directory

Typeabsolute path
Default
"${config.nixflix.stateDir}/jellyfin/log"
Declared inmodules/jellyfin/options.nix

nixflix.jellyfin.metadata.useFileCreationTimeForDateAdded

When enabled, Jellyfin uses the file's creation timestamp as the "date added" value. When disabled (the default), Jellyfin uses the date the file was scanned into the library.

Disable this when files have a creation date that predates when they were actually added to the system (e.g. files whose metadata records the original creation time), as this can interfere with automations that depend on "date added" reflecting scan time.

Typeboolean
Default
false
Declared inmodules/jellyfin/metadata/options.nix

nixflix.jellyfin.openFirewall

Open ports in the firewall for Jellyfin. TCP ports 8096 and 8920, UDP ports 1900 and 7359.

Typeboolean
Default
false
Declared inmodules/jellyfin/network/options.nix

nixflix.jellyfin.reverseProxy.expose

Whether to expose Jellyfin via the reverse proxy.

Typeboolean
Default
true
Declared inmodules/jellyfin/network/options.nix

nixflix.jellyfin.subdomain

Subdomain prefix for reverse proxy.

Typestring
Default
"jellyfin"
Declared inmodules/jellyfin/network/options.nix

nixflix.jellyfin.user

User under which the service runs

Typestring
Default
"jellyfin"
Declared inmodules/jellyfin/options.nix

nixflix.jellyfin.vpn.enable

Whether to route Jellyfin traffic through the VPN.

When false, Jellyfin bypasses the VPN. When true, Jellyfin is confined to the WireGuard network namespace (requires nixflix.vpn.enable = true).

Typeboolean
Default
config.nixflix.vpn.enable
Declared inmodules/jellyfin/network/options.nix