Configuration | Jellyfin
There are several entry points available for administrators to manage the configuration of their server. This section aims to outline all those configuration methods, explain what options are available, and what each option does.
note
The configuration options here are distinct from the
runtime settings
available from the Administrator Dashboard in the web client. The configuration options here are generally meant to be static and set before starting the server.
Command Line Options
Documentation for the available command line options can be obtained by adding the
--help
flag when running the Jellyfin executable.
Server Paths
The file paths used by the server are determined according to the rules outlined below. In general, the
XDG specification
is followed by default for non-Windows systems.
Data Directory
This is the directory that will hold all Jellyfin data and is also used as a default base directory for some other paths below. It is set from the following sources in order of decreasing precedence.
Command line option
--datadir
, if specified
Environment variable
JELLYFIN_DATA_DIR
, if specified
<%ProgramData%>\Jellyfin\Server
, if launching from the Windows Tray app.
<%LocalAppData%>\jellyfin
, if launching the Windows server directly.
$XDG_DATA_HOME/jellyfin
, if
$XDG_DATA_HOME
exists
$HOME/.local/share/jellyfin
note
Windows users can also specify the data directory using a Windows Registry string key called
DataFolder
located at
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Jellyfin\Server
An additional string key called
InstallFolder
in
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Jellyfin\Server
can also specify the install location.
Configuration Directory
This is the directory containing the server configuration files. It is set from the following sources in order of decreasing precedence.
Command line option
--configdir
, if specified
Environment variable
JELLYFIN_CONFIG_DIR
, if specified
/config
, if it exists or if running on Windows
$XDG_CONFIG_HOME/jellyfin
if
$XDG_CONFIG_HOME
exists
$HOME/.config/jellyfin
Cache Directory
This is the directory containing the server cache. It is set from the following sources in order of decreasing precedence.
Command line option
--cachedir
, if specified
Environment variable
$JELLYFIN_CACHE_DIR
, if specified
/cache
, if Windows
$XDG_CACHE_HOME/jellyfin
if
$XDG_CACHE_HOME
exists
$HOME/.cache/jellyfin
Web Directory
This is the directory containing the built files from a
web client
release. It is set from the following sources in order of decreasing precedence.
Command line option
--webdir
, if specified
Environment variable
$JELLYFIN_WEB_DIR
, if specified
/jellyfin-web
, where

is the directory containing the Jellyfin executable
note
This setting is only used when the server is configured to host the web client. See the
hostwebclient
option in the
Main Configuration Options
section below for additional details.
Log Directory
This is the directory where the Jellyfin logs will be stored. It is set from the following sources in order of decreasing precedence.
Command line option
--logdir
, if specified
Environment variable
$JELLYFIN_LOG_DIR
, if specified
/log
Main Configuration
The main server configuration is built upon the ASP .NET
configuration framework
, which provides a tiered approach to loading configuration. The base directory to locate the configuration files is set using the
configuration directory
setting. The configuration sources are as follows, with later sources having higher priority and overwriting the values in earlier sources.
Hard-coded default values
: These defaults are specified in the Jellyfin
source code
and cannot be changed.
Default logging configuration file
logging.default.json
): This file should not be modified manually by users. It is reserved by the server to be overwritten with new settings on each new release.
System-specific logging configuration file
logging.json
): This is the file you should change if you want to have a custom logging setup. Jellyfin uses the
Serilog
logging framework, and you can read about the configuration options available in their
documentation
note
This file can be changed at runtime, which will automatically reload the configuration and apply the changes immediately.
Environment variables
: The
documentation
provided by Microsoft explains how to set these configuration options via environment variables. Jellyfin uses its own custom
JELLYFIN_
prefix for these variables. For example, to set a value for the
HttpListenerHost:DefaultRedirectPath
setting, you would set a value for the
JELLYFIN_HttpListenerHost__DefaultRedirectPath
environment variable.
Command line options
: Certain command line options are loaded into the configuration system and have the highest priority. The following command line options are mapped to associated configuration options.
--nowebclient
sets the
hostwebclient
configuration setting to false
Main Configuration Options
This section lists all the configuration options available and explains their function.
Key
Default Value
Description
hostwebclient
True
Set to
True
if the server should host the web client.
FFmpeg:probesize
"1G"
Value to set for the FFmpeg
probesize
format option. See the FFmpg
documentation
for more details.
FFmpeg:analyzeduration
"200M"
The value to set for the FFmpeg
analyzeduration
format option. See the FFmpg
documentation
for more details.
PublishedServerUrl
Server Url based on primary IP address
The Server URL to publish in udp Auto Discovery response.
Fonts
Jellyfin uses fonts to render text in many places.
Server Side System Fonts
The system fonts installed on the server are used for burning in subtitles and rendering cover images. How to install them depends on the operating system or if a container is being used.
Client Side System Fonts
The system fonts installed on the client devices are used to display the text in the client interface as well as render subtitles for some clients. How to install them depends on the operating system.
Fallback Fonts
The
Fallback Fonts
installed on the server are loaded up by the web client to render ASS subtitles. They will be used if no other existing fonts (such as MKV attachments or client-side fonts) can be used to render certain glyphs, such as CJK characters, instead of displaying an empty "tofu" block.
This setting can be set to a folder on the server containing fonts for this purpose. These fonts are limited to a total size of 20 MB, since all of them will be always preloaded in the browser, regardless of whether they'll be needed or not. Lightweight formats optimized for web like woff2 are recommended. A tool to convert normal TrueType (
.ttf
) and OpenType (
.otf
) fonts to woff2 can be found
in their repo
Downloading Fonts
There are many fonts available online.
Google Fonts
is a good place to download fonts for most languages.
Command Line Options
Server Paths
Data Directory
Configuration Directory
Cache Directory
Web Directory
Log Directory
Main Configuration
Main Configuration Options
Fonts
Server Side System Fonts
Client Side System Fonts
Fallback Fonts
Downloading Fonts