Configuration
Plex does not consistently apply casing to XML settings and are frequently mis-spelled or inconsistently spelled. Order does not matter (Plex initially only stores non-default values until it is set once, then the setting is always stored, last changed setting last).
Options here reflect file analysis.
Preferences.xml
0755 {USER}:{USER}
<!-- An empty preferences file will be auto-populated on service start. -->
<!-- All preferences are stored in the Preferences element. -->
<?xml version="1.0" encoding="utf-8"?>
<Preferences />
General
FriendlyName
Server Friendly name.
| Variable | Type | Default |
|---|---|---|
| FriendlyName | str | '' |
sendCrashReports
Send crash reports to Plex?
| Variable | Type | Default |
|---|---|---|
| sendCrashReports | bool | false |
PushNotificationsEnabled
Enable Push Notifications? Allow this server to send push notifications to mobile devices. Push notifications are delivered using Plex services. They're associated with your account, and some of them may contain information about the contents of your library.
| Variable | Type | Default |
|---|---|---|
| PushNotificationsEnabled | bool | false |
logDebug
Enable Plex Media Server debug logging? Debug logging enables additional detail in the log files and is helpful in diagnosing problems.
| Variable | Type | Default |
|---|---|---|
| logDebug | bool | false |
LogVerbose
Enable Plex Media Server verbose logging? Verbose logging is only useful to debug specific issues and should only be enabled if requested by support staff.
| Variable | Type | Default |
|---|---|---|
| LogVerbose | bool | false |
ButlerUpdateChannel
Server update channel. Does not circumvent entitlement (PlexPass) early previews.
| Variable | Type | Default | Values |
|---|---|---|---|
| ButlerUpdateChannel | int | 0 | 0: Stable (public). |
| 8: Beta. |
Remote Access
PublishServerOnPlexOnlineKey
Enable Remote Access? Publishing a server on Plex Online makes it automatically available on your client devices without any configuration of your router.
| Variable | Type | Default |
|---|---|---|
| PublishServerOnPlexOnlineKey | bool | false |
ManualPortMappingMode
Enable manual port specification? You may need to enable this to establish a direct connection from outside your network. You may also need to configure your router.
| Variable | Type | Default |
|---|---|---|
| ManualPortMappingMode | bool | false |
AuthenticationMethod
Manul Port to Use.
| Variable | Type | Default |
|---|---|---|
| AuthenticationMethod | int | 32400 |
AuthenticationRequired
Internet upload speed (Kbps). Overall upload limit for all streams. WebUI uses Mbps and should be converted accordingly.
| Variable | Type | Default |
|---|---|---|
| AuthenticationRequired | int | 0 |
WanPerStreamMaxUploadRate
Limit remote stream bitrate (Kbps). Set the maximum bitrate of a single remote stream from this server.
| Variable | Type | Default |
|---|---|---|
| WanPerStreamMaxUploadRate | int | 0 (Original - no limit). |
Library
FSEventLibraryUpdatesEnabled
Scan my library automatically? Your library will be updated automatically when changes to library folders are detected. Uses iNotify and will not work on network mounted filesystems.
| Variable | Type | Default |
|---|---|---|
| FSEventLibraryUpdatesEnabled | bool | false |
FSEventLibraryPartialScanEnabled
Run a partial scan when changes are detected? When changes to library folders are detected, only scan the folder that changed. Uses iNotify and will not work on network mounted filesystems.
| Variable | Type | Default |
|---|---|---|
| FSEventLibraryPartialScanEnabled | bool | false |
watchMusicSections
Include music libraries in automatic updates? Linux systems limit the maximum number of watched directories; this may cause problems with large music libraries. Uses iNotify and will not work on network mounted filesystems.
| Variable | Type | Default |
|---|---|---|
| watchMusicSections | bool | false |
ScheduledLibraryUpdatesEnabled
Enable Scan my library periodically? Enable this option for network mounted filesystems.
| Variable | Type | Default |
|---|---|---|
| ScheduledLibraryUpdatesEnabled | bool | false |
ScheduledLibraryUpdateInterval
Library scan interval (seconds).
| Variable | Type | Default |
|---|---|---|
| ScheduledLibraryUpdateInterval | int | 86400 |
autoEmptyTrash
Empty trash automatically after every scan?
| Variable | Type | Default |
|---|---|---|
| autoEmptyTrash | bool | true |
allowMediaDeletion
Allow media deletion? The owner of the server will be allowed to delete media files from disk.
| Variable | Type | Default |
|---|---|---|
| allowMediaDeletion | bool | true |
OnDeckWindow
Weeks to consider for Continue Watching. Media that has not been watched in this many weeks will not appear in Continue Watching.
| Variable | Type | Default |
|---|---|---|
| OnDeckWindow | int | 16 |
| ### OnDeckLimit | ||
| Maximum number of Continue Watching items which will appear. Limits the number | ||
| of shows which will appear Continue Watching. Setting it too high can affect | ||
| performance. |
| Variable | Type | Default |
|---|---|---|
| OnDeckLimit | int | 40 |
OnDeckIncludePremieres
Include season premieres in Continue Watching? New season premieres will always appear no matter how many weeks have passed since watching.
| Variable | Type | Default |
|---|---|---|
| OnDeckIncludePremieres | bool | true |
LibraryVideoPlayedThreshold
Video played threshold. Set the progress percentage for video playback at which point the video will be marked as played.
| Variable | Type | Default |
|---|---|---|
| LibraryVideoPlayedThreshold | int | 95 |
LibraryVideoPlayedAtBehaviour
Video play completion behavior. Decide whether to use end credits markers to determine the played state of video items. LibraryVideoPlayedThreshold used when markers are not available.
| Variable | Type | Default | Values |
|---|---|---|---|
| LibraryVideoPlayedAtBehaviour | int | 3 | 0: At selected threshold percentage. |
| 1: At final credits marker position. | |||
| 2: At first credits marker position. | |||
| 3: Earliest between threshold percent and first credits marker (default). |
SmartShuffleMusic
Enable smart shuffling on artists and smart music playlists? Smart shuffling prefers highly rated, popular and less recently heard tracks.
| Variable | Type | Default |
|---|---|---|
| SmartShuffleMusic | bool | true |
MusicSeparateAlbumTypes
Group albums by type? Group into LPs, EPs & Singles, Compilations, Live Albums, Demos and Remixes.
| Variable | Type | Default | Values |
|---|---|---|---|
| MusicSeparateAlbumTypes | str | enabled | enabled |
| disabled |
iTunesSharingEnabled
Enable iTunes plugin (requires server restart)?
| Variable | Type | Default |
|---|---|---|
| iTunesSharingEnabled | bool | false |
iTunesLibraryXmlPath
iTunes library XML path (absolute path)?
| Variable | Type | Default |
|---|---|---|
| iTunesLibraryXmlPath | str | '' |
ScannerLowPriority
Run scanner tasks at a lower priority?
| Variable | Type | Default |
|---|---|---|
| ScannerLowPriority | bool | false |
MarkerSource
Marker source. Credits markers can be generated locally and/or retrieved via an online database. Online markers may not always exist, if this preference is set to any then any locally detected markers are submitted anonymously back to the online database for future use.
| Variable | Type | Default | Values |
|---|---|---|---|
| MarkerSource | str | any | any: Both, try online first (default). |
| cloud: Online only (no local detection). | |||
| local: Local detection only. |
GenerateBIFBehavior
Generate video preview thumbnails. Video preview thumbnails provide live updates in Now Playing and while seeking on supported apps. Thumbnail generation may take a long time, cause high CPU usage, and consume additional disk space. You can turn off thumbnail generation for individual libraries in the library's advanced settings.
| Variable | Type | Default | Values |
|---|---|---|---|
| GenerateBIFBehavior | str | never | never: never. |
| scheduled: as a scheduled task. | |||
| asap: as a scheduled task and when media is added. |
GenerateIntroMarkerBehavior
Generate intro video markers. Detects show intros, exposing the Skip Intro button in clients.
| Variable | Type | Default | Values |
|---|---|---|---|
| GenerateIntroMarkerBehavior | str | asap | never: never. |
| scheduled: as a scheduled task. | |||
| asap: as a scheduled task and when media is added. |
GenerateCreditsMarkerBehavior
Generate credits video markers. Detects movie and episode end credits.
| Variable | Type | Default | Values |
|---|---|---|---|
| GenerateCreditsMarkerBehavior | str | asap | never: never. |
| scheduled: as a scheduled task. | |||
| asap: as a scheduled task and when media is added. |
GenerateAdMarkerBehavior
Generate ad video markers. Detects movie and episode ads.
| Variable | Type | Default | Values |
|---|---|---|---|
| GenerateAdMarkerBehavior | str | scheduled | never: never. |
| scheduled: as a scheduled task. | |||
| asap: as a scheduled task and when media is added. |
GenerateVADBehavior
Generate voice activity data. Detects voice activity data for movies and episodes. This is used to help synchronize subtitles to the audio track. This detection can be toggled per library by editing the individual library and navigating to the advanced section.
| Variable | Type | Default | Values |
|---|---|---|---|
| GenerateVADBehavior | str | scheduled | never: never. |
| scheduled: as a scheduled task. | |||
| asap: as a scheduled task and when media is added. |
GenerateChapterThumbBehavior
Generate chapter thumbnails. Chapter thumbnails provide images in the chapter view on supported apps. They can take a long time to generate and consume additional disk space.
| Variable | Type | Default | Values |
|---|---|---|---|
| GenerateChapterThumbBehavior | str | scheduled | never: never. |
| scheduled: as a scheduled task. | |||
| asap: as a scheduled task and when media is added. |
LoudnessAnalysisBehavior
Analyze audio tracks for loudness. Loudness analysis allows various features, such as loudness leveling and smart transitions. It can take a long time to complete when analyzing many tracks, and cause high CPU usage.
| Variable | Type | Default | Values |
|---|---|---|---|
| LoudnessAnalysisBehavior | str | scheduled | never: never. |
| scheduled: as a scheduled task. | |||
| asap: as a scheduled task and when media is added. |
MusicAnalysisBehavior
Analyze audio tracks for sonic features. Sonic analysis allows various features, such as track radio. It can take a long time to complete when analyzing many tracks, and cause high CPU usage.
| Variable | Type | Default | Values |
|---|---|---|---|
| MusicAnalysisBehavior | str | scheduled | never: never. |
| scheduled: as a scheduled task. | |||
| asap: as a scheduled task and when media is added. |
LocationVisibility
Location visibility. Server owners may wish to restrict who can see location names for items which contain geolocation metadata. By default only the server owner will have visibility of these.
| Variable | Type | Default | Values |
|---|---|---|---|
| LocationVisibility | int | 1 | 1: Admin only. |
| 2: Everyone. |
DatabaseCacheSize
Database Cache Size (MB). Set the size of the main database cache size in MB. Increasing size increases exposure for DB data loss if a crash happens before updates are written to disk.
| Variable | Type | Default |
|---|---|---|
| DatabaseCacheSize | int | 40 |
Network
IPNetworkType
Client network. Network to advertise to clients.
| Variable | Type | Default | Values |
|---|---|---|---|
| IPNetworkType | str | dualstack | v4only: Advertise only IPv4. |
| v6only: Advertise only IPv6. | |||
| dualstack: Advertise on both IPv4/6 networks. |
secureConnections
Use Secure connections? When enabled, some unencrypted connections (originating from the Media Server computer) will still be allowed and apps that don't support secure connections will not be able to connect at all.
| Variable | Type | Default | Values |
|---|---|---|---|
| secureConnections | bool | false | True: Required. |
| False: Preferred (default). |
customCertificatePath
Custom certificate location. Absolute path to a PKCS #12 file containing a certificate and private key to enable TLS support on a custom domain.
| Variable | Type | Default |
|---|---|---|
| customCertificatePath | str | '' |
customCertificateKey
Custom certificate encryption key.
| Variable | Type | Default |
|---|---|---|
| customCertificateKey | str | '' |
customCertificateDomain
Custom certificate domain. Domain name to be published to plex.tv using your mapped port; must match a name from the custom certificate file.
| Variable | Type | Default |
|---|---|---|
| customCertificateDomain | str | '' |
PreferredNetworkInterface
Preferred network interface. The network interface local clients will use to connect.
| Variable | Type | Default | Values |
|---|---|---|---|
| PreferredNetworkInterface | str | '' | '': Any network connection. |
| {ADAPTER}: Use specified location interface (e.g. enp4s0, etc). |
DisableTLSv1_0
Use Strict TLS configuration? Disables legacy weak ciphers, increases DH group size, and switches to ECDSA certificates when renewing. May prevent older clients from connecting.
| Variable | Type | Default |
|---|---|---|
| DisableTLSv1_0 | bool | false |
GdmEnabled
Enable local network discovery (GDM)? This enables the media server to discover other servers and players on the local network.
| Variable | Type | Default |
|---|---|---|
| GdmEnabled | bool | true |
WanPerUserStreamCount
Remote streams allowed per user. Maximum number of simultaneous streams each user is allowed when not on the local network.
| Variable | Type | Default | Values |
|---|---|---|---|
| WanPerUserStreamCount | int | 0 | 0: Unlimited connections. |
| 1-20: Max number of connections. |
LanNetworksBandwidth
LAN networks bandwidth enforcement. Comma separated list of IP addresses or IP/netmask entries for networks that will be considered to be on the local network when enforcing bandwidth restrictions. If set, all other IP addresses will be considered to be on the external network and will be subject to external network bandwidth restrictions. If left blank, only the server's subnet is considered to be on the local network.
| Variable | Type | Default | Values |
|---|---|---|---|
| LanNetworksBandwidth | str | '' | {CIDR}: CIDR notation. |
| {IP}: IPv4 or IPv6. |
MinutesAllowedPaused
Terminate Sessions Paused for Longer Than X (minutes). Terminate any sessions which have been paused for longer than specified amount of time in minutes. Audio-only sessions and live sessions are excluded.
| Variable | Type | Default | Values |
|---|---|---|---|
| MinutesAllowedPaused | int | 0 | 0: No limit. |
TreatWanIpAsLocal
Treat WAN IP as LAN bandwidth? Treat incoming requests from this network's WAN IP address as LAN requests in terms of bandwidth. This often occurs when DNS rebinding protection is in place and clients on the LAN cannot contact the server directly but instead have to go through the WAN IP address.
| Variable | Type | Default |
|---|---|---|
| TreatWanIpAsLocal | bool | true |
RelayEnabled
Enable Relay? Relay allows connections to the server through a proxy relay when the server is not accessible otherwise. Proxy relay is bandwidth limited.
| Variable | Type | Default |
|---|---|---|
| RelayEnabled | bool | true |
customConnections
Custom server access URLs. Comma separated list of URLs (http or https) which are published up to plex.tv for server discovery.
| Variable | Type | Default |
|---|---|---|
| customConnections | str | '' |
allowedNetworks
Comma separated list of IP addresses and networks that are allowed without auth. List of IP addresses or IP/netmask entries for networks that are allowed to access Plex Media Server without logging in. When the server is signed out and this value is set, only localhost and addresses on this list will be allowed.
Any app connecting to the server this way without being signed in will be treated as the admin/owner. That means access to all libraries as well as the ability to change server settings. We strongly encourage using Plex apps that allow signing in to accounts to ensure the highest security for your computer and network.
| Variable | Type | Default | Values |
|---|---|---|---|
| allowedNetworks | str | '' | {CIDR}: CIDR notation. |
| {IP}: IPv4 or IPv6. |
WebHooksEnabled
Use webhooks? Allow this server to send events to external services.
| Variable | Type | Default |
|---|---|---|
| WebHooksEnabled | bool | true |
Transcoder
TranscoderQuality
Transcoder quality. Quality profile used by the transcoder.
| Variable | Type | Default | Values |
|---|---|---|---|
| TranscoderQuality | int | 0 | 0: Automatic. |
| 1: Prefer higher speed encoding. | |||
| 2: Prefer higher quality encoding. | |||
| 3: Make my CPU hurt. |
TranscoderTempDirectory
Transcoder temporary directory.
| Variable | Type | Default |
|---|---|---|
| TranscoderTempDirectory | str | /tmp |
DownloadsTempDirectory
Downloads temporary directory.
| Variable | Type | Default |
|---|---|---|
| DownloadsTempDirectory | str | /tmp |
TranscoderThrottleBuffer
Transcoder default throttle buffer (seconds). Number of seconds to buffer before throttling the transcoder. Playback will not start (even with direct streaming) until buffer is full - if playback takes a long time to start, reduce this value.
| Variable | Type | Default |
|---|---|---|
| TranscoderThrottleBuffer | int | 60 |
TranscoderH264BackgroundPreset
Background transcoding x264 preset. The x264 preset value used for background transcoding (Sync and Media Optimizer). Slower values will result in better video quality and smaller file sizes, but will take significantly longer to complete processing.
| Variable | Type | Default | Values |
|---|---|---|---|
| TranscoderH264BackgroundPreset | str | veryfast | ultrafast |
| superfast | |||
| veryfast | |||
| faster | |||
| fast | |||
| medium | |||
| slow | |||
| slower | |||
| veryslow |
TranscoderToneMapping
Enable HDR tone mapping? Transcoded HDR content will appear highly dimmed and desaturated with this disabled. Additional driver components may be needed to support hardware transcoding with this feature enabled; see our support articles for further details.
AMD iGPU's will pass encoding frames back and forth between iGPU and CPU drastically reducing performance. Recommend disabling for AMD iGPU.
| Variable | Type | Default |
|---|---|---|
| TranscoderToneMapping | bool | true |
TranscoderToneMappingAgorithm
Tonemapping Algorithm. Algorithm to use when performing HDR tone mapping.
Info
XML var IS mis-spelled.
| Variable | Type | Default | Values |
|---|---|---|---|
| TranscoderToneMappingAgorithm | str | hable | linear: Stretch entire reference gamut to a linear multiple of display. |
| gamma: Fit a logarithmic transfer between the tone curves. | |||
| clip: Hard-clip any out-of-range values. Use it for perfect color accuracy for in-range values, while distorting out-of-range values. | |||
| reinhard: Preserve overall image brightness with a simple curve, using nonlinear contrast, which results in flattening details and degrading color accuracy. | |||
| hable: Preserve both dark and bright details better than reinhard, at the cost of slightly darkening everything. Use it when detail preservation is more important than color and brightness accuracy. | |||
| mobius: Smoothly map out-of-range values, while retaining contrast and colors for in-range material as much as possible. Use it when color accuracy is more important than detail preservation. |
TranscoderCanOnlyRemuxVideo
Disable video stream transcoding? Disable transcoding of the video stream in transcoder operations. With this set, the transcoder may still transcode audio as well as remux video.
| Variable | Type | Default |
|---|---|---|
| TranscoderCanOnlyRemuxVideo | bool | false |
HardwareAcceleratedCodecs
Use hardware acceleration when available? Plex Media Server will attempt to use hardware-accelerated video codecs when encoding and decoding video. Hardware acceleration can make transcoding faster and allow more simultaneous video transcodes, but it can also reduce video quality and compatibility.
| Variable | Type | Default |
|---|---|---|
| HardwareAcceleratedCodecs | bool | true |
HardwareAcceleratedEncoders
Use hardware-accelerated video encoding? If hardware acceleration is enabled, this controls whether it's used for encoding, in addition to decoding.
| Variable | Type | Default |
|---|---|---|
| HardwareAcceleratedEncoders | bool | true |
TranscoderHEVCEncoding
Enable HEVC video Encoding (experimental)? Enable transcoding using the HEVC codec if it is supported by the client.
| Variable | Type | Default | Values |
|---|---|---|---|
| TranscoderHEVCEncoding | str | always | never: Never use HEVC video encoding. |
| hevc-sources: Encode HEVC sources only. | |||
| always: Always use HEVC video encoding. |
TranscoderHEVCOptimize
Enable HEVC Optimization (experimental)? If available, enable use of HEVC while optimizing your media.
| Variable | Type | Default |
|---|---|---|
| TranscoderHEVCOptimize | bool | false |
HardwareDevicePath
Hardware transcoding device. The GPU or other hardware device that will be used for transcoding. Path is automatically generated when device is set in WebUI.
| Variable | Type | Default | Values |
|---|---|---|---|
| HardwareDevicePath | str | '' | '': Auto device or auto-generated Plex value (default). |
| {PCI_ID}@{DEVICE_ID}: Hardware address '10de:1eb1:10de:12a0@0000:42:00.0'. |
TranscodeCountLimit
Maximum simultaneous video transcodes. Limit the number of simultaneous video transcode streams server can utilize.
| Variable | Type | Default | Values |
|---|---|---|---|
| TranscodeCountLimit | int | 0 | 0: Unlimited connections (default). |
| 1-20: Max number of connections. |
_CPU-TranscodeCountLimit
Maximum simultaneous CPU transcodes. Limit the number of simultaneous video transcode streams your server can utilize on your CPU.
| Variable | Type | Default | Values |
|---|---|---|---|
| _CPU-TranscodeCountLimit | int | 0 | 0: Unlimited connections. |
| 1-20: Max number of connections. |
OptimizerTranscodeCountLimit
Maximum simultaneous background video transcodes. Limit the number of simultaneous video transcode your server can utilize for the optimizer and downloads.
| Variable | Type | Default | Values |
|---|---|---|---|
| OptimizerTranscodeCountLimit | int | 0 | 0: Unlimited connections. |
| 1-20: Max number of connections. |
DLNA
DlnaEnabled
Enable the DLNA server? This allows the server to stream media to DLNA (Digital Living Network Alliance) devices.
| Variable | Type | Default |
|---|---|---|
| DlnaEnabled | bool | false |
DlnaClientPreferences
DLNA client preferences. These should generally not be altered.
| Variable | Type | Default |
|---|---|---|
| DlnaClientPreferences | str | '' |
DlnaReportTimeline
DLNA server timeline reporting? Enable the DLNA server to report timelines for video play activity.
| Variable | Type | Default |
|---|---|---|
| DlnaReportTimeline | bool | true |
DlnaDefaultProtocolInfo
DLNA default protocol info. Protocol info string used in GetProtocolInfo responses by the DLNA server. Comma separated list of protocols.
| Variable | Type | Default |
|---|---|---|
| DlnaDefaultProtocolInfo | str | http-get::video/mpeg:,http-get::video/mp4:,http-get::video/vnd.dlna.mpeg-tts:,http-get::video/avi:,http-get::video/x-matroska:,http-get::video/x-ms-wmv:,http-get::video/wtv:,http-get::audio/mpeg:,http-get::audio/mp3:,http-get::audio/mp4:,http-get::audio/x-ms-wma,http-get::audio/wav:,http-get::audio/L16:,http-get:image/jpeg:,http-get:image/png:,http-get:image/gif:,http-get:image/tiff: |
DlnaDeviceDiscoveryInterval
DLNA media renderer discovery interval (seconds). Number of seconds between DLNA media renderer discovery requests.
| Variable | Type | Default |
|---|---|---|
| DlnaDeviceDiscoveryInterval | int | 60 |
DlnaAnnouncementLeaseTime
DLNA server announcement lease time (seconds). Duration in seconds of DLNA Server SSDP announcement lease time.
| Variable | Type | Default |
|---|---|---|
| DlnaAnnouncementLeaseTime | int | 1800 |
DlnaDescriptionIcons
DLNA server description icons. Icons offered by DLNA server when devices request server description. Comma separated lists separated by semicolons.
| Variable | Type | Default |
|---|---|---|
| DlnaDescriptionIcons | str | png,jpeg;260x260,120x120,48x48 |
Scheduled Tasks
ButlerStartHour
Time at which tasks start to run (24 hour clock). The time at which the server starts running background maintenance tasks.
| Variable | Type | Default | Values |
|---|---|---|---|
| ButlerStartHour | int | 2 | 0: Midnight. |
ButlerEndHour
Time at which tasks stop running (24 hour clock). The time at which the background maintenance tasks stop running.
| Variable | Type | Default | Values |
|---|---|---|---|
| ButlerEndHour | int | 5 | 0: Midnight. |
ButlerTaskBackupDatabase
Backup database every three days?
| Variable | Type | Default |
|---|---|---|
| ButlerTaskBackupDatabase | bool | true |
ButlerDatabaseBackupPath
Backup directory.
| Variable | Type | Default |
|---|---|---|
| ButlerDatabaseBackupPath | str | /var/lib/plex/Plex Media Server/Plug-in Support/Databases |
ButlerTaskOptimizeDatabase
Optimize database every week?
| Variable | Type | Default |
|---|---|---|
| ButlerTaskOptimizeDatabase | bool | true |
ButlerTaskCleanOldBundles
Remove old bundles every week?
| Variable | Type | Default |
|---|---|---|
| ButlerTaskCleanOldBundles | bool | true |
ButlerTaskCleanOldCacheFiles
Remove old cache files every week?
| Variable | Type | Default |
|---|---|---|
| ButlerTaskCleanOldCacheFiles | bool | true |
ButlerTaskRefreshLocalMedia
Refresh local metadata every three days?
| Variable | Type | Default |
|---|---|---|
| ButlerTaskRefreshLocalMedia | bool | true |
ButlerTaskRefreshLibraries
Update all libraries during maintenance?
| Variable | Type | Default |
|---|---|---|
| ButlerTaskRefreshLibraries | bool | false |
ButlerTaskUpgradeMediaAnalysis
Upgrade media analysis during maintenance?
| Variable | Type | Default |
|---|---|---|
| ButlerTaskUpgradeMediaAnalysis | bool | true |
ButlerTaskRefreshPeriodicMetadata
Refresh library metadata periodically?
| Variable | Type | Default |
|---|---|---|
| ButlerTaskRefreshPeriodicMetadata | bool | true |
ButlerTaskDeepMediaAnalysis
Perform extensive media analysis during maintenance?
| Variable | Type | Default |
|---|---|---|
| ButlerTaskDeepMediaAnalysis | bool | true |
Extras
CinemaTrailersType
Choose Cinema Trailers from?
| Variable | Type | Default | Values |
|---|---|---|---|
| CinemaTrailersType | bool | true | False: All movies. |
| True: Only unwatched movies (default). |
CinemaTrailersFromLibrary
Include Cinema Trailers from movies in my library?
| Variable | Type | Default |
|---|---|---|
| CinemaTrailersFromLibrary | bool | true |
CinemaTrailersFromTheater
Include Cinema Trailers from new and upcoming movies in theaters? PlexPass entitlement only.
| Variable | Type | Default |
|---|---|---|
| CinemaTrailersFromTheater | bool | false |
CinemaTrailersFromBluRay
Include Cinema Trailers from new and upcoming movies on Blu-ray? PlexPass entitlement only.
| Variable | Type | Default |
|---|---|---|
| CinemaTrailersFromBluRay | bool | false |
CinemaTrailersIncludeEnglish
Always include English language Cinema Trailers? For trailers of movies not in my library.
| Variable | Type | Default |
|---|---|---|
| CinemaTrailersIncludeEnglish | bool | true |
CinemaTrailersPrerollID
Movie pre-roll videos. List of absolute paths to videos for pre-roll before playing a movie.
| Variable | Type | Default | Values |
|---|---|---|---|
| CinemaTrailersPrerollID | str | '' | Comma separated list will play all videos before movie. |
| semi-colon separated list will play one random video before movie. |
GlobalMusicVideoPath
Global music videos path.
| Variable | Type | Default |
|---|---|---|
| GlobalMusicVideoPath | str | '' |
Libraries
MergedRecentlyAdded
Merge Recently Added items? Recently Added items from the same media type will be combined together on Home for libraries Recommended to Home. Only content from libraries pinned to the app sidebar will appear in Merged Recently Added recommendations.
| Variable | Type | Default |
|---|---|---|
| MergedRecentlyAdded | bool | false |
Live TV & DVR
If you have a tuner card, please help out by working with the author and providing anonymous configuration information to codify options.
DvrIncrementalEpgLoader
Enable incremental DVR electronic program guides loader? PlexPass entitlement only.
| Variable | Type | Default |
|---|---|---|
| DvrIncrementalEpgLoader | bool | false |
Identifiers
Auto-generated Plex options to uniquely identifier a Plex server. Carry these settings over to new installations to retain Plex server identification.
MachineIdentifier
| Variable | Type | Default |
|---|---|---|
| MachineIdentifier | str | {AUTO} |
ProcessedMachineIdentifier
| Variable | Type | Default |
|---|---|---|
| ProcessedMachineIdentifier | str | {AUTO} |
AnonymousMachineIdentifier
| Variable | Type | Default |
|---|---|---|
| AnonymousMachineIdentifier | str | {AUTO} |
Stateful
Not user configurable.
Configuration options here are not found directly in the server UI. These are generally updated/added automatically during Plex usage, but may be set after initial Plex execution. These are kept to document variables in case future releases migrate these to configurable values or migrated into the DB directly.
Changing these values have no effect.
AcceptedEULA
Accept Plex EULA? Plex cannot be used without accepting the EULA.
| Variable | Type | Default |
|---|---|---|
| AcceptedEULA | bool | true |
CertificateUUID
Let's Encrypt certificate UUID. Plex automatically creates and distributes certificates to support it's own HTTPS by default scheme. These are automatically issued on first install.
Do NOT use your own Let's Encrypt material.
| Variable | Type | Default | Values |
|---|---|---|---|
| CertificateUUID | str | '' | {UUIDv4}: UUIDv4a, generated random data. |
CertificateVersion
Let's Encrypt certificate version.
| Variable | Type | Default | Values |
|---|---|---|---|
| CertificateVersion | str | 3 | 1: TLSv1.1. |
| 2: TLSv1.2. | |||
| 3: TLSv1.3. |
collectUsageData
Collect usage data? Sends usage data to plex. This has been deprecated in lieu of other mechanisms now, however this is kept in case any edge cases still use this variable. This is no longer configurable in the WebUI.
| Variable | Type | Default |
|---|---|---|
| collectUsageData | bool | true |
GlobalMusicVideoPathMigrated
Global music video paths migrated from legacy config? Old Plex installs tracked music videos separately from other media; these are now integrated and tracked in Plex DB. This should always be true unless OldestPreviousVersion=legacy.
| Variable | Type | Default | Values |
|---|---|---|---|
| GlobalMusicVideoPathMigrated | bool | true | False: Force Plex to migrate music video paths on next start. |
| True: Paths already migrated or auto-generated Plex value (default). |
LanguageInCloud
Use plex cloud settings for language options? This overrides local settings in the Language section. Now force enabled by plex.
| Variable | Type | Default |
|---|---|---|
| LanguageInCloud | bool | true |
LastAutomaticMappedPort
Last port automatically mapped with PublishServerOnPlexOnlineKey.
| Variable | Type | Default |
|---|---|---|
| LastAutomaticMappedPort | int | 0 |
MetricsEpoch
Use year 2038+ safe epochs for timestamps? Old Plex installs used unix timestamp epochs which will generate errors after 2038. This should always be true unless plex_cfg_oldest_previous_version=legacy.
| Variable | Type | Default | Values |
|---|---|---|---|
| MetricsEpoch | int | 1 | 1: Use 2038 safe epochs or auto-generated Plex value. |
| 0: Use unix timestamp. |
OldestPreviousVersion
Oldest previously installed plex version. Version is set on initial Plex installation.
| Variable | Type | Default | Values |
|---|---|---|---|
| OldestPreviousVersion | str | '' | '': auto-generated Plex value. |
| legacy: Legacy plex install (1st gen plex >10 years ago). | |||
| {VERSION}: Last installed plex version (e.g. '1.28.2.6106-44a5bbd28'). |
PubSubServer
Plex pubsub server IP.
| Variable | Type | Default |
|---|---|---|
| PubSubServer | str | 184.105.148.115 |
PubSubServerPing
Latest plex pubsub server ping.
| Variable | Type | Default |
|---|---|---|
| PubSubServerPing | int | 65 |
PubSubServerRegion
Plex pubsub server region.
| Variable | Type | Default |
|---|---|---|
| PubSubServerRegion | str | sjc |
Service
PlexOnlineUsername
Plex username.
| Variable | Type | Default |
|---|---|---|
| PlexOnlineUsername | str | '' |
PlexOnlineMail
Plex user email.
| Variable | Type | Default |
|---|---|---|
| PlexOnlineMail | str | '' |
PlexOnlineToken
Plex user access token.
A new plex install (or one requiring a new access token after revocation) requires the initial manual setup process to be run locally. Use a SSH tunnel to access the server-side configuration page.
ssh -L 32400:localhost:32400 {plex_host}
Then connect to http://localhost:32400/web and obtain token:
- Select media libraries to use.
- Sign-in on server: upper right ➔ sign-in.
- Select server and claim: claim now ➔ claim server.
- Update PlexOnlineToken with new token in found in /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Preferences.xml.
Enable Secure Server Connection
- Ensure 32400 is forwarded from the router.
- Enable DNS Rebinding on router.
| Variable | Type | Default |
|---|---|---|
| PlexOnlineToken | str | '' |
PlexOnlineHome
Use this server as user home (default) server?
| Variable | Type | Default |
|---|---|---|
| PlexOnlineHome | bool | true |
Experimental Settings
Additional settings in Preferences.xml that are typically hidden from users.
All options are not configured in Preferences unless explicitly set. Any option that is promoted (e.g. added to the UI) are actively migrated to standardized sections.
Only set these options when explicitly fixing an issue.
AlbumSort
Album sort. A field:direction value for the default album sort. 'year', 'title', etc. PMS 1.4.1+ has UI setting per library/per artist.
| Variable | Type | Default |
|---|---|---|
| AlbumSort | str | year:desc |
ArticleStrings
Article strings. A comma-separated list of words considered to be grammatical articles, which are removed in sort titles.
| Variable | Type | Default |
|---|---|---|
| ArticleStrings | str | the, das, der, a, an, el, la |
BackgroundTranscodeLowPriority
Background transcode low priority. Makes background transcodes have a lower priority than active streaming when enabled.
| Variable | Type | Default | Values |
|---|---|---|---|
| BackgroundTranscodeLowPriority | str | 1 | 1: Enabled. |
| 0: Disabled. |
DlnaPlatinumLoggingLevel
DLNA platinum logging level. Sets level for the separate 'Neptune DLNA'.
| Variable | Type | Default | Values |
|---|---|---|---|
| DlnaPlatinumLoggingLevel | str | OFF | OFF: Disabled. |
| ON: Enabled. |
enableLocalSecurity
Enable local security. Determines whether Plex Media Server must be claimed/signed-in to access it.
| Variable | Type | Default | Values |
|---|---|---|---|
| enableLocalSecurity | int | 1 | 1: Enabled. |
| 0: Disabled. |
GenerateBIFFrameInterval
Generate BIF frame interval. For video preview thumbnails, sets how often (in seconds) we create the thumbnail. This directly affects library scanning performance and storage space. A more reasonable value if there are freezes during scanning is the scrub interval for the player used (10-15).
| Variable | Type | Default |
|---|---|---|
| GenerateBIFFrameInterval | int | 2 |
GenerateBIFKeyframesOnly
Generate BIF keyframes only. When generating video preview thumbnails for playback, only look at keyframes in the video. Greatly speeds up processing and reduces CPU usage.
| Variable | Type | Default | Values |
|---|---|---|---|
| GenerateBIFKeyframesOnly | int | 1 | 1: Enabled. |
| 0: Disabled. |
LocalAppDataPath
local appdata path. Set the location of of the Plex Media Server data directory (Windows only).
| Variable | Type | Default |
|---|---|---|
| LocalAppDataPath | str | C:\Users{USER}\AppData\Local\Plex Media Server |
LogMemoryUse
Log memory use. Set Plex Media Server to log memory use and the system total used memory in Plex Media Server logs. A server restart is required for the change to take effect. Not recommended for normal usage. Requires PMS v1.20.2 or newer. Not available for FreeBSD or NVIDIA SHIELD.
| Variable | Type | Default |
|---|---|---|
| LogMemoryUse | int | 0: Disabled. |
| 1: Enabled. |
LogNumFiles
Log num files. Number of past log files to retain.
| Variable | Type | Default |
|---|---|---|
| LogNumFiles | int | 5 |
LongRunningJobThreads
Long running job threads. Sets how many threads can be used for long-running jobs, such as Sonic Analysis (Default is half the total threads for the processor).
| Variable | Type | Default |
|---|---|---|
| LongRunningJobThreads | int | 4 |
RadioDaysSinceLastPlayed
Radio days since last played. When playing a Radio or Smart Shuffle, Plex prefers to include tracks that have not been played recently. This sets that recent period (default is 2).
| Variable | Type | Default |
|---|---|---|
| RadioDaysSinceLastPlayed | int | 2 |
RadioDirectoryLimit
Radio directory limit. Controls how many genre, style, or mood radios are exposed, on clients that support those radio types.
| Variable | Type | Default |
|---|---|---|
| RadioDirectoryLimit | int | 50 |
TranscoderDefaultDuration
Transcoder default duration. Duration in minutes to use when transcoding something with an unknown duration (120 is the default if nothing set).
| Variable | Type | Default |
|---|---|---|
| TranscoderDefaultDuration | int | 120 |
TranscoderH264OptionsOverride
Transcoder H264 options override. The x264 preset to use when transcoding.
| Variable | Type | Default |
|---|---|---|
| TranscoderH264OptionsOverride | str | veryfast |
TranscoderLogLevel
Transcoder log level. The log level for the Plex transcoder itself.
| Variable | Type | Default | Values |
|---|---|---|---|
| TranscoderLogLevel | str | error | error |
| verbose |
TranscoderPhotoFileSizeLimitMiB
Transcoder photo file size limit MiB. Maximum photo size to be tagged or transcoded (in mebibytes).
| Variable | Type | Default |
|---|---|---|
| TranscoderPhotoFileSizeLimitMiB | int | 100 |