-
Notifications
You must be signed in to change notification settings - Fork 40
Settings Sync
Moonbase stores each user's preferences on the server and shares them across every Moonfin client, so your setup follows you between devices. Change a setting on your phone, and your TV picks it up.
There is nothing to configure as a user. As long as the admin has Moonbase Sync enabled on the server, sync just works.
- Each client keeps a local copy of your settings and pushes changes to the server.
- On startup a client fetches the server copy and merges it with its local copy. If both sides changed the same setting, the local one wins.
- Opening Moonfin on a new device with no local settings pulls everything from the server. This is how your setup carries over to a new client.
- Clients that are open and connected pick up changes, theme updates, and admin messages live, without a restart.
Your settings live in a shared global profile that every device inherits. On top of that, you can override individual settings per device type: desktop, mobile, or tv. A device profile only stores the values you actually changed for that device, so everything you leave alone keeps flowing from global.
When a client asks for a setting, the server answers with the first value that's set, in this order:
- The device profile (desktop, mobile, or tv)
- The global profile
- The admin default settings
If none of those set a value, the client falls back to its own built-in default.
Advanced: the settings envelope
Settings are stored per user as one JSON file on the server, in a profiled envelope. Data Locations covers exactly where it lives.
{
"schemaVersion": 2,
"lastUpdated": 1740200000000,
"lastUpdatedBy": "desktop",
"syncEnabled": true,
"global": { "...": "base settings that every device inherits" },
"desktop": { "...": "overrides for desktop only" },
"mobile": { "...": "overrides for mobile only" },
"tv": { "...": "overrides for TV only" }
}| Field | Type | Description |
|---|---|---|
schemaVersion |
int |
2 for the profiled format. Older flat (v1) files are migrated automatically on load |
lastUpdated |
long | When the envelope was last saved, in epoch milliseconds |
lastUpdatedBy |
string | The client id that last wrote it |
syncEnabled |
bool | Whether server sync is on for this user |
global |
profile | Base values that all devices inherit |
desktop, mobile, tv
|
profile | Sparse overrides that apply only on that device type |
Valid profile names are global, desktop, mobile, and tv.
Advanced: startup and merge behavior
On startup a client pings /Moonfin/Ping to confirm the plugin is installed and sync is on, then fetches /Moonfin/Settings. What happens next depends on what already exists:
- Local and server both exist, with a snapshot: a three-way merge. For each setting, if only one side changed, that change is kept. If both sides changed the same setting, the local value wins.
- Local and server both exist, no snapshot: first sync on this client. Local wins, then the merged result is pushed back to the server.
- Server only (fresh install or new browser): the server settings are restored locally.
- Local only: the local settings are pushed to the server.
After merging, the result is saved as the new snapshot for next time. Every settings change also saves locally right away and, when the server is reachable, pushes to the server.
The settingsUpdated broadcast only fires when a save actually changed something, so a no-op save doesn't make other clients re-sync. Live updates only reach clients currently connected to the events stream (/Moonfin/Settings/Stream). Others catch up on their next startup.
- The dashboard's Defaults tab sets the admin default for every client setting, split into subtabs (General Style, Details Screen, Navigation, Home Screen, Home Sections, Libraries, Playback, Extras, and Integrations). A setting left on Not set (user decides) passes the user's own choice through.
- Push Defaults to Existing Users updates the stored global values and emits a live update, so connected clients re-resolve immediately.
- The sync toggle in the dashboard is labelled Moonbase Sync. Enabling it is required for the Seerr and ratings integrations.
- Admin broadcasts and server messages are delivered over the same live stream, and also go out as push to devices with a registered token. See API Reference for the endpoints.
Advanced: file repair and quarantine
Plugin releases 1.9.1 through 2.0.0 could leave a user's settings file truncated if the server crashed or restarted mid-write, which broke sync for that user until their profile was reset. Current releases write these files atomically, and a repair pass runs at startup as the Moonfin Settings File Repair scheduled task (also runnable manually from Dashboard > Scheduled Tasks):
- Healthy files are never touched.
- Truncated settings files are repaired when a usable prefix survives, and the global profile usually comes back intact.
- Anything unrecoverable is moved, never deleted, to
plugins/configurations/Moonfin/quarantine/(settings/,notifications/,seerr-sessions/subfolders) with a UTC timestamp suffix, so support can inspect it later. - The task logs a per-store summary line (scanned / healthy / salvaged / recovered / quarantined).
The quarantine folder is safe to clear once affected users confirm their settings look right. On Emby the boot-time repair runs automatically after plugin startup, and the dashboard task there exists for manual re-runs.
Everything below can be set on global and optionally overridden per device profile. Names are the JSON property names. Not every client uses every setting yet: the server stores the full set, and each client reads and writes the ones it supports while preserving the rest untouched.
| Setting | Type | Description |
|---|---|---|
seerrEnabled |
bool | Enable Seerr integration |
seerrApiKey |
string | Seerr API key |
seerrBlockNsfw |
bool | Hide adult results from Seerr |
seerrRows |
object | Which Seerr discovery rows show and their order |
mdblistEnabled |
bool | Enable MDBList ratings |
mdblistApiKey |
string | MDBList API key |
mdblistRatingSources |
list | Which rating sources to pull from MDBList |
mdblistShowRatingNames |
bool | Show the rating source names |
mdblistShowRatingBadges |
bool | Show rating badges |
tmdbApiKey |
string | TMDB API key |
tmdbEpisodeRatingsEnabled |
bool | Enable per-episode ratings from TMDB |
The jellyseerr* names (jellyseerrEnabled, jellyseerrApiKey, jellyseerrBlockNsfw, jellyseerrRows) are legacy aliases backed by the same values as their seerr* equivalents.
| Field | Type | Description |
|---|---|---|
trendingMovies |
bool | Show the trending movies row |
trendingTv |
bool | Show the trending TV row |
popularMovies |
bool | Show the popular movies row |
popularTv |
bool | Show the popular TV row |
upcomingMovies |
bool | Show the upcoming movies row |
upcomingTv |
bool | Show the upcoming TV row |
rowOrder |
list | The order of the Seerr rows |
| Setting | Type | Description |
|---|---|---|
navbarPosition |
string | Navbar placement (top, left, bottom) |
navbarColor |
string | Navbar color |
navbarOpacity |
int | Navbar opacity |
navbarAlwaysExpanded |
bool | Keep the navbar expanded |
focusColor |
string | Accent color for focused items |
visualTheme |
string | Selected built-in theme |
customThemeId |
string | Selected custom theme id |
watchedIndicator |
string | Style of the watched indicator |
cardFocusExpansion |
bool | Expand cards when focused |
posterSize |
string | Poster size |
seasonalSurprise |
string | Seasonal particle effect |
backdropEnabled |
bool | Show backdrops |
browsingBlur |
string | Blur behind browsing screens |
showServerMessagesButton |
bool | Show the server messages button in the navigation. Off by default, and hidden automatically on clients that don't support messages |
clockBehavior |
string | Clock Display (always, inMenus, never) |
desktopUiScale |
string | UI Scaling (small, medium, large, extraLarge, grandparents) |
diagnosticLoggingEnabled |
bool | Record server requests, playback and subtitle activity so problems can be traced |
glassQuality |
string | Quality of the glass blur effect |
interfaceStyle |
string | Automatic adapts to your device. Choose Apple or Material to lock the look (automatic, apple, material) |
languageOverride |
string | Interface language, or system to follow the device |
loadingAnimationImage |
string | Loading Animation Image (none, moonfinLogo, spinner, runner, moonPhases, moonfinPhases, neonfinPhases) |
loadingAnimationPosition |
string | Loading Animation Position (topLeft, topCenter, topRight, middleLeft, middle, middleRight, bottomLeft, bottomCenter, bottomRight, bouncing) |
loadingAnimationSize |
string | Loading Animation Size (thumbnail, small, medium, large) |
loadingAnimationSpeed |
string | Loading Animation Speed (slow, moderate, fast, ultra) |
preferSystemImeKeyboard |
bool | Use your device input method by default for text entry |
showLoadingAnimationText |
bool | Show Loading Animation Text |
updateNotificationsEnabled |
bool | Show app update notifications when a new release is available |
use24HourClock |
bool | Use 24-hour time formatting wherever the clock is shown |
| Setting | Type | Description |
|---|---|---|
detailScreenStyle |
string | Detail screen layout variant |
detailExpandedTabs |
bool | Show the detail screen tabs expanded |
useDetailedSubHeadings |
bool | Use detailed sub-headings |
detailsScreenBlur |
string | Detail screen backdrop blur |
detailsBackdropBlur |
int | Detail backdrop blur amount |
detailsBackdropOpacity |
int | Detail backdrop opacity |
hideDetailsMediaDescription |
bool | Hide episode descriptions on the detail screen, for spoiler-free browsing |
detailUseSeriesThumbnails |
bool | Use the series thumbnail instead of the episode still |
detailTrailersExternal |
bool | Open remote trailers in the external app instead of the built-in player |
recommendationSystemSource |
string | Source used for recommended and similar media on detail pages (local, online) |
detailShowTechnicalDetails |
bool | Show codec, resolution, and stream information in banner summary |
seerrShowMissingCollectionItems |
bool | Include missing items on Collection pages |
personPageGroupItems |
bool | Group a person's credits by type on their page |
personPageSortOption |
string | Person Page Sort (alphabetical, releaseDateDesc, releaseDateAsc) |
recommendationsApplyParentalRatingCap |
bool | Filter recommendations to not exceed the current item's age rating |
showSeerrAvailabilityBadges |
bool | Show Seerr availability badges on a show's seasons on the detail screen |
| Setting | Type | Description |
|---|---|---|
showShuffleButton |
bool | Show the shuffle button |
showGenresButton |
bool | Show the genres button |
showFavoritesButton |
bool | Show the favorites button |
showLiveTvButton |
bool | Show the Live TV button in the navigation. Clients with no Live TV hide it regardless |
showCastButton |
bool | Show the cast button |
showSyncPlayButton |
bool | Show the SyncPlay button |
showLibrariesInToolbar |
bool | Show libraries in the toolbar |
shuffleContentType |
string | What shuffle pulls from (movies, shows, both) |
showDownloadsButton |
bool | Show the downloads button in the navigation |
showSeerrButton |
bool | Show the Seerr button in the navigation bar |
Each of these comes in a Tv, Mobile, and Desktop variant, so the layout you build for one form factor doesn't disturb the others.
| Setting | Type | Description |
|---|---|---|
detailButtonOrderTv, detailButtonOrderMobile, detailButtonOrderDesktop
|
list | Order of the action buttons on the detail screen |
osdButtonOrderTv, osdButtonOrderMobile, osdButtonOrderDesktop
|
list | Order of the buttons on the playback OSD |
hiddenDetailButtonsTv, hiddenDetailButtonsMobile, hiddenDetailButtonsDesktop
|
list | Detail screen buttons to hide |
hiddenOsdButtonsTv, hiddenOsdButtonsMobile, hiddenOsdButtonsDesktop
|
list | Playback OSD buttons to hide |
detailMetadataOrderTv, detailMetadataOrderMobile, detailMetadataOrderDesktop
|
list | Order of the items in the detail screen metadata row (year, parentalRating, runtimeAndSeasons, status, upcomingEpisodeDate, genres, seerrAvailability) |
hiddenDetailMetadataTv, hiddenDetailMetadataMobile, hiddenDetailMetadataDesktop
|
list | Detail screen metadata items to hide |
| Setting | Type | Description |
|---|---|---|
desktopMediaBarProvider |
string | Which provider backs the desktop media bar |
mediaBarMode |
string | Media bar mode |
mediaBarSourceType |
string | Source type (library or collection) |
mediaBarContentType |
string | Which item types the media bar shows (both, movies, tvshows) |
mediaBarLibraryIds |
list | Library ids feeding the media bar |
mediaBarCollectionIds |
list | Collection ids feeding the media bar |
mediaBarExcludedGenres |
list | Genres to exclude |
mediaBarItemCount |
int | Number of items |
mediaBarOpacity |
int | Overlay opacity |
mediaBarOverlayColor |
string | Overlay color |
mediaBarAutoAdvance |
bool | Auto-advance slides |
mediaBarIntervalMs |
int | Auto-advance interval in milliseconds |
mediaBarTrailerPreview |
bool | Play trailer previews |
mediaBarTrailerAudio |
bool | Enable trailer audio |
episodePreviewEnabled |
bool | Enable episode previews |
previewAudioEnabled |
bool | Enable preview audio |
| Setting | Type | Description |
|---|---|---|
homeSections |
list | The full home layout, including dynamic plugin sections. Newer clients prefer this |
homeRowOrder |
list | The legacy ordered list of built-in rows |
homeRowsStyle |
string | Home rows rendering style |
homeRowsImageType |
string | Home rows image type (poster, thumb, banner) |
homeRowsImageTypeOverride |
bool | Override the home rows image type |
homeImageTypeContinueWatching |
string | Image type for the Continue Watching row |
homeImageUseSeriesImage |
bool | Use the series image instead of the episode image |
fullScreenRows |
bool | Full-screen home rows |
mergeContinueWatchingNextUp |
bool | Merge Continue Watching with Next Up |
nextUpMaxDays |
int | How many days a show stays in Next Up after you last watched it |
displayFavoritesRows |
bool | Show favorites rows |
displayCollectionsRows |
bool | Show collections rows |
displayGenresRows |
bool | Show genres rows |
displaySeerrRows |
bool | Show Seerr rows |
displayPlaylistsRows |
bool | Show playlists rows |
displayAudioRows |
bool | Show audio rows |
favoritesRowSortBy |
string | Sort order for favorites rows |
collectionsRowSortBy |
string | Sort order for collections rows |
genresRowSortBy |
string | Sort order for genres rows |
genresRowItemFilter |
string | Item filter for genres rows |
playlistsRowSortOrder |
string | Sort order for playlists rows |
audioRowsSortOrder |
string | Sort order for audio rows |
favoritesRowSortOrder |
string | Ascending or descending for favorites rows |
collectionsRowSortOrder |
string | Ascending or descending for collections rows |
genresRowSortOrder |
string | Ascending or descending for genres rows |
displayStudiosRows |
bool | Show the studios row |
studiosRowSortBy |
string | Sort key for the studios row |
studiosRowSortOrder |
string | Ascending or descending for the studios row |
studiosRowSelectedIds |
string | The studios chosen for the row |
recentlyReleasedSeriesType |
string | Whether the Recently Released row lists series, seasons, or episodes |
hideHomeMediaDescription |
bool | Hide episode descriptions on home rows, for spoiler-free browsing |
mediaTypeBadgeBehavior |
string | When the media type badge shows on home row cards |
modernHomeRowsPadding |
int | Vertical space between rows |
classicHomeRowsPadding |
int | Vertical space between rows |
modernCardsOnMyMediaRow |
bool | Display customizable posters that expand on focus. Disable to always show landscape thumbnail |
homeRowInfoOverlay |
bool | Show title and metadata when browsing home rows |
nextUpBehavior |
string | Extended shows a full card with episode artwork and description. Minimal shows a compact countdown overlay. Disabled hides the prompt entirely |
nextUpTimeout |
int | How long the Next Up prompt stays on screen |
stillWatchingBehavior |
string | Still Watching prompt, and after how many consecutive episodes it appears (disabled, short_, medium, long_, veryLong) |
| Field | Type | Description |
|---|---|---|
kind |
string | Section kind, built-in or a dynamic plugin section |
type |
string | The row key for built-in sections |
enabled |
bool | Whether the section shows |
order |
int | Position of the section on the home screen |
serverId |
string | Owning server for multi-server setups |
pluginSource |
string | Source plugin for dynamic sections |
pluginSection |
string | The plugin's section identifier |
pluginAdditionalData |
string | Extra data the plugin section needs |
pluginDisplayText |
string | Display label for the plugin section |
Custom home rows propagate across device profiles. A row created on one profile shows up on the others in a disabled state, edits to it propagate, and deleting it removes it everywhere.
| Setting | Type | Description |
|---|---|---|
displaySinceYouWatchedRows |
bool | Show Since You Watched rows |
sinceYouWatchedSource |
string | Source for those rows |
sinceYouWatchedSourceType |
string | Source type |
sinceYouWatchedSourceItem |
string | Specific source item |
sinceYouWatchedNumRows |
int | How many rows to show |
sinceYouWatchedIncludeWatched |
bool | Include already-watched items |
displayRewatchRow |
bool | Show the rewatch row |
rewatchSortBy |
string | Sort order for the rewatch row |
rewatchIncludeMovies |
bool | Include movies |
rewatchIncludeShows |
bool | Include shows |
rewatchIncludeCollections |
bool | Include collections |
sinceYouWatched1Enabled |
bool | Since You Watched Row 1 |
sinceYouWatched2Enabled |
bool | Since You Watched Row 2 |
sinceYouWatched3Enabled |
bool | Since You Watched Row 3 |
sinceYouWatched4Enabled |
bool | Since You Watched Row 4 |
sinceYouWatched5Enabled |
bool | Since You Watched Row 5 |
| Setting | Type | Description |
|---|---|---|
oledMode |
string | True black backgrounds for OLED screens |
mergeRecentRowsByType |
bool | Merge the Recently Added and Recently Released rows by type |
collectionsRowShowEpisodes |
bool | Show individual episodes in the collections row |
playlistsRowShowEpisodes |
bool | Show individual episodes in the playlists row |
mediaBarTrailerCaptions |
bool | Show captions on media bar trailer previews |
enableMultiServerLibraries |
bool | Aggregate libraries across servers |
enableFolderView |
bool | Enable folder view |
showBookDiscoverTab |
bool | The discovery tab in book and audiobook libraries, which browses titles from Open Library and LibriVox |
confirmExit |
bool | Ask before exiting |
blockedRatings |
list | Content ratings to hide |
themeMusicEnabled |
bool | Enable theme music |
themeMusicOnHomeRows |
bool | Play theme music on home rows |
themeMusicVolume |
int | Theme music volume |
themeMusicLoop |
bool | Loop theme music |
hiddenContinueWatchingItems |
string | Items hidden from Continue Watching |
hiddenNextUpSeries |
string | Series hidden from Next Up |
personalRatingStyle |
string | Whether your own rating reads as a like, five stars, or a score out of ten |
cinemaModeEpisodesEnabled |
bool | Run Cinema Mode pre-rolls before TV episodes as well as movies |
mediaSegmentActions |
string | The skip action chosen for each media segment type |
mediaSegmentAutoHide |
string | Whether and when the skip button hides itself |
playerSwipeGestures |
bool | Volume and brightness swipe gestures in the mobile player |
desktopScrollSensitivity |
int | Scroll wheel and trackpad sensitivity on desktop |
crashReportsEnabled |
bool | Whether captured crash reports are uploaded to the server. Capture itself is always local |
defaultAudioLanguage |
string | Preferred audio language as an ISO 639-2 code, or auto to follow the server |
fallbackAudioLanguage |
string | Audio language to try when no track matches the preferred one. Empty means none |
defaultSubtitleLanguage |
string | Preferred subtitle language as an ISO 639-2 code. Empty means none |
fallbackSubtitleLanguage |
string | Subtitle language to try when no track matches the preferred one. Empty means none |
subtitlesHdrSeparate |
bool | Use a separate subtitle style during HDR playback |
subtitlesHdrTextColor |
string | HDR subtitle text color |
subtitlesHdrTextStrokeColor |
string | HDR subtitle outline color |
subtitlesHdrBackgroundColor |
string | HDR subtitle background color |
subtitlesHdrTextSize |
double | HDR subtitle text size |
subtitlesHdrOffsetPosition |
double | HDR subtitle vertical offset |
subtitlesHdrTextWeight |
int | HDR subtitle font weight |
allGenresImageType |
string | Genres Page Image Type (poster, thumb, banner) |
audioRowsSortBy |
string | Audio Rows Sorting (name, dateAdded, premiereDate, runtime, random) |
audioSortOption |
string | Music Sorting (name, release_year, date_added) |
autoplayNextEpisode |
bool | Automatically play the next episode when available |
defaultFavoritesFilter |
string | Which media type the Favorites page opens on. Empty shows everything |
displayAudioAlbumArtists |
bool | Show the Album Artists row in music libraries |
displayAudioAlbums |
bool | Show the Albums row in music libraries |
displayAudioArtists |
bool | Show the Artists row in music libraries |
displayAudioFavorites |
bool | Show the Favorites row in music libraries |
displayAudioLastPlayed |
bool | Show the Recently Played row in music libraries |
displayAudioLatest |
bool | Show the Latest row in music libraries |
displayAudioPlaylists |
bool | Show the Playlists row in music libraries |
epgMobileView |
string | Live TV guide layout on mobile (list, grid) |
favoritesViewStyle |
string | Favorites View (home, library) |
groupItemsIntoCollections |
bool | Hide Collection associated library items when browsing libraries |
hideBackdropsInLibraries |
bool | Hide backdrops when browsing libraries |
libraryPosterSize |
string | Library Card Size (small, medium, large, extraLarge) |
liveTvChannelSortBy |
string | Channel Sorting (number, name, favoritesFirst) |
liveTvDirectPlayEnabled |
bool | Enable direct play for Live TV |
maxBitrate |
string | Cap the streaming bitrate. Content above this threshold will be transcoded to fit |
maxVideoResolution |
string | Cap the video resolution. Content above this threshold will be transcoded to fit |
mediaQueuingEnabled |
bool | Queue the next item automatically during playback |
mediaSegmentCountdown |
string | Skip Button Countdown (progressBar, timer, both, none) |
osdLockEnabled |
bool | Show a lock button that blocks touch input until long-pressed |
showChapterMarkers |
bool | Chapter Marks, which mark where each chapter starts on the seek bar |
playerZoomMode |
string | How video that does not match the screen shape is displayed |
playlistPosterSize |
string | Playlist Card Size (small, medium, large, extraLarge) |
playlistsRowSortBy |
string | How the playlists row is sorted |
replaceSkipOutroWithNextUp |
bool | Only applies when the outro asks before skipping and Next Up is on |
resumeLastQueueOnPlay |
bool | Resume the previous play queue when playback starts |
resumeSubtractDuration |
string | Automatically rewinds slightly when resuming an in-progress video (0, 5, 10, 15, 30) |
showDescriptionOnPause |
bool | Dim video and show overview text while paused |
showMediaDetailsOnLibraryPage |
bool | Show details of the selected item at the top of Library pages |
skipBackLength |
int | How far the rewind button jumps |
skipForwardLength |
int | How far the fast forward button jumps |
unpauseRewindDuration |
int | Rewinds slightly when unpausing playback |
videoStartDelay |
int | Delay applied before video playback starts |
| Setting | Type | Description |
|---|---|---|
assDirectPlay |
bool | Direct play ASS/SSA subtitles |
audioNightMode |
bool | Compress dynamic range |
cinemaModeEnabled |
bool | Play trailers/prerolls before a main feature |
pgsDirectPlay |
bool | Direct play PGS subtitles |
preferAudioDescription |
bool | Prefer audio description tracks over normal tracks |
preferDefaultAudioTrack |
bool | Pick the track the file marks as default before matching languages |
preferSdhSubtitles |
bool | Prioritize SDH/CC subtitle tracks when auto-selecting |
subtitleMode |
string | When subtitles should load automatically (flagged, always, foreign, forced, none) |
subtitleTextStrokeColor |
string | Subtitle outline color |
subtitlesBackgroundColor |
string | Subtitle background color |
subtitlesOffsetPosition |
double | Subtitle vertical offset |
subtitlesTextColor |
string | Subtitle text color |
subtitlesTextSize |
double | Subtitle text size |
subtitlesTextWeight |
int | Subtitle font weight |
subtitlesUseEmbeddedFontSizes |
bool | Apply font-size hints embedded in the subtitle track. Disable to use the subtitle size from your style preferences |
subtitlesUseEmbeddedStyles |
bool | Apply colours, fonts, and positioning embedded in the subtitle track. Disable to use your caption style preferences instead |
| Setting | Type | Description |
|---|---|---|
autoDownloadBackgroundRefresh |
bool | Let the OS wake the app in the background to run subscription checks (iOS Background App Refresh) |
autoDownloadDeleteAfterHours |
int | Hours after an auto-downloaded episode was watched before it is deleted: 0 right away, -1 never |
autoDownloadEnabled |
bool | Master switch for auto-download subscriptions. Off pauses every subscription without forgetting it |
autoDownloadKeepUnwatched |
int | How many unwatched episodes a subscription keeps downloaded or in flight at once. 0 means no cap |
defaultDownloadQuality |
string | Quality downloads are fetched at |
downloadStorageLimitMb |
int | Cap on total download storage in megabytes. 0 means no cap |
downloadWifiOnly |
bool | Only download while on Wi-Fi |
reportDownloadsAsActivity |
bool | Report playback of downloaded items back to the server |
| Setting | Type | Description |
|---|---|---|
screensaverBackdrop |
string | Screensaver Backdrop (library, black, moonfin, calm, neonPulse, aurora) |
screensaverClockMode |
string | Clock style the screensaver shows |
screensaverCollectionIds |
list | Collection ids the screensaver draws art from |
screensaverComponent |
string | Screensaver Additional Component (none, moonfinLogo, clock, runner) |
screensaverContentType |
string | What the Library Art backdrop shows (both, movies, tvshows) |
screensaverDimming |
int | Dimming Level |
screensaverEnabled |
bool | Enable the built-in screensaver |
screensaverExcludedGenres |
list | Genres the screensaver leaves out |
screensaverLibraryIds |
list | Library ids the screensaver draws art from |
screensaverMaxAgeRating |
string | Highest age rating the screensaver will show art from |
screensaverMode |
string | Screensaver Mode (TV clients only) |
screensaverMovement |
string | Screensaver Component Movement (staticCorner, slow, moderate, fast, ultra) |
screensaverPosition |
string | Applies when the component movement is Static (topLeft, topCenter, topRight, middleLeft, middle, middleRight, bottomLeft, bottomCenter, bottomRight) |
screensaverRequireRating |
bool | Only show rated content |
screensaverSize |
string | Screensaver Component Size (thumbnail, small, medium, large) |
screensaverTimeout |
string | Idle time before the screensaver starts |
| Setting | Type | Description |
|---|---|---|
syncPlayAdvancedCorrectionEnabled |
bool | Enable fine-grained sync logic |
syncPlayEnableSyncCorrection |
bool | Automatically adjust playback to stay in sync |
syncPlayEnabled |
bool | Enable group watching features |
syncPlayExtraTimeOffset |
double | A fixed offset added to the group position, for displays that lag |
syncPlayMaxDelaySpeedToSync |
double | Largest drift still corrected by changing speed instead of seeking, in milliseconds |
syncPlayMinDelaySkipToSync |
double | Smallest drift that triggers a seek correction, in milliseconds |
syncPlayMinDelaySpeedToSync |
double | Smallest drift that triggers a speed correction, in milliseconds |
syncPlaySpeedToSyncDuration |
double | How long a speed correction runs, in milliseconds |
syncPlayUseSkipToSync |
bool | Use seeking to sync |
syncPlayUseSpeedToSync |
bool | Use playback speed adjustment to sync |
| Setting | Type | Description |
|---|---|---|
enableRadarrCalendar |
bool | Radarr Calendar |
enableSonarrCalendar |
bool | Sonarr Calendar |
mergeRadarrSonarrCalendars |
bool | Merge Radarr and Sonarr Calendars |
radarrCalendarShowCinema |
bool | Radarr: Show Cinema Releases |
radarrCalendarShowDate |
bool | Radarr: Show Release Date |
radarrCalendarShowDigital |
bool | Radarr: Show Digital Releases |
radarrCalendarShowPhysical |
bool | Radarr: Show Physical Releases |
sonarrCalendarShowDate |
bool | Sonarr: Show Air Date |
sonarrCalendarShowEpisodeInfo |
bool | Show episode numbers and titles on Sonarr calendar entries |
| Setting | Type | Description |
|---|---|---|
imdbLowestRatedMoviesEnabled |
bool | IMDb Lowest Rated Movies |
imdbMostPopularMoviesEnabled |
bool | IMDb Most Popular Movies |
imdbMostPopularTvShowsEnabled |
bool | IMDb Most Popular TV Shows |
imdbTop250MoviesEnabled |
bool | IMDb Top 250 Movies |
imdbTop250TvShowsEnabled |
bool | IMDb Top 250 TV Shows |
imdbTopEnglishMoviesEnabled |
bool | IMDb Top English Movies |
tmdbAiringTodayTvEnabled |
bool | TMDB Airing Today |
tmdbNowPlayingMoviesEnabled |
bool | TMDB Now Playing Movies |
tmdbOnTheAirTvEnabled |
bool | TMDB On The Air |
tmdbPopularMoviesEnabled |
bool | TMDB Popular Movies |
tmdbPopularTvEnabled |
bool | TMDB Popular TV |
tmdbTopRatedMoviesEnabled |
bool | TMDB Top Rated Movies |
tmdbTopRatedTvEnabled |
bool | TMDB Top Rated TV |
tmdbTrendingAllWeeklyEnabled |
bool | TMDB Trending This Week |
tmdbTrendingMovieDailyEnabled |
bool | TMDB Trending Movies Today |
tmdbTrendingMovieWeeklyEnabled |
bool | TMDB Trending Movies This Week |
tmdbTrendingTvDailyEnabled |
bool | TMDB Trending TV Today |
tmdbTrendingTvWeeklyEnabled |
bool | TMDB Trending TV This Week |
tmdbUpcomingMoviesEnabled |
bool | TMDB Upcoming Movies |
Six slots around the playback progress bar, plus one for the music player. Each takes the name of what it shows, or nothing to leave the slot empty.
| Setting | Type | Description |
|---|---|---|
playbackTimeAboveLeft, playbackTimeAboveCenter, playbackTimeAboveRight
|
string | Slots above the progress bar |
playbackTimeBelowLeft, playbackTimeBelowCenter, playbackTimeBelowRight
|
string | Slots below the progress bar |
musicPlaybackTimeDisplay |
string | The equivalent slot in the music player |
Note: sensitive values like
mdblistApiKeyare stored on the server per user.
For server admins
Reference
For developers