Repository navigation
Admin Guide
The Moonbase settings page, tab by tab, in plain words. You don't have to touch most of it. Sync alone already gives your users the biggest win, and everything else is optional.
Where the page is: Jellyfin: Dashboard > Plugins > My Plugins > Moonbase. Emby: Dashboard > Plugins > Moonbase. Both open the same page with the same tabs: User defaults, Web Client, Integrations, Games, Live TV, Smart Search, Themes, Labels, Messages, Accounts, Watch Parties, Actions, Help and Active Downloads. There's no Settings Sync tab anymore. Its Moonbase Sync switch now sits at the top of User defaults. The search box at the top finds a setting on any tab, folded categories included. Click Save at the bottom after changing anything.
If an amber banner is at the top: it says These settings look like they were reset. Moonbase keeps a spare copy of this page's settings, and the banner shows up when the live settings are back to defaults while that copy still holds your real ones. Click Restore these settings, then restart the server. Your users' own settings are stored separately and aren't affected. Common Problems has the causes and the manual route.
If you only do one thing on each tab:
| Tab | Do this |
|---|---|
| User defaults | Tick Moonbase Sync at the top. Leave the defaults below it alone, users decide for themselves |
| Integrations | Paste a free MDBList API key and a free TMDB API key so your users get extra ratings without keys of their own. Add Seerr if you have it |
| Games | Skip unless you have ROMs or a RomM server |
| Live TV | Skip. Incomplete recordings are already detected |
| Smart Search | Optional. Read Smart Search first if your server is a Raspberry Pi or has little memory |
| Themes | Skip |
| Labels | Skip. Posters get no labels until you switch some on |
| Messages | Skip |
| Watch Parties | Skip. It's on by default. If friends outside your home should be able to open invite links, set Public Server URL under Web Client > Connecting to this server |
Then Save, and tell your users to check that sync is on under Settings > Account > Settings Sync in their apps.
Only matters for the web app at /Moonfin/Web/, apart from Public Server URL.
- Public Server URL, under Connecting to this server, is the address people and services outside your network reach the server at. Watch party invite links point there, and Seerr sends its notifications there. Leave it empty and the server uses its own published address or external domain, or else the address each app used. It used to sit under Seerr Integration. See Watch Parties and Seerr Notifications.
- Default Server URL pre-fills the Add Server box in the web app. Leave empty and it uses the address the page was opened from, which is right for nearly everyone.
-
Forced Server URL makes the web app connect to that address on load without asking. Use it when you want the web app to behave like a kiosk for one server. Use the base address, such as
http://192.168.1.10:8096, without/web. - Enable WebRTC Private Subnet Scan lets the web app look for servers on the local network. Turn it off if your browsers block WebRTC.
Seerr Integration
- Enable Seerr and Seerr URL: the address of your Seerr, as your server sees it. The full walkthrough is Seerr Setup.
- Display Name: what the apps call it in menus, for example "Requests". Leave empty for "Seerr".
- Seerr reaches your server for notifications at the Public Server URL on the Web Client tab. It's only needed when Seerr and the server can't reach each other by the server's own guess, typically separate Docker containers. See Seerr Notifications.
- Push Relay URL, Push Relay Key, Push Service Account: leave them alone. Phone notifications work through the hosted relay by default. They exist for people who run their own relay or Firebase project.
Calendar
- Who can see the calendar (Everyone or Admins only), Days back (14), Days ahead (90) and Cache minutes (5) for the apps' Sonarr and Radarr calendar. It reads them through Seerr, so it needs Seerr on and a Seerr admin signed in through a Moonfin app. Calendar has the details.
Stuck downloads
- Notify when a request gets stuck: off by default. Every 15 minutes Moonbase checks the Radarr and Sonarr set up in Seerr, and when a download is import blocked, has failed or has stalled, every server admin and the person who requested it get one notification. Like the calendar, it needs a Seerr admin signed in through a Moonfin app.
- Stalled hours: how long a download can sit without progress before it counts as stuck, 6 by default and up to 168. Seerr Notifications has the details.
MDBList Integration
- Server-wide MDBList API Key: a free key from mdblist.com (Preferences > API Key). With it, every user sees Rotten Tomatoes, Metacritic, Letterboxd and other ratings in the apps without making their own account.
- Sync MDBList official lists and Max items per official list: turns MDBList's curated lists into home rows your users can switch on.
IMDb Charts
- Sync IMDb charts: adds IMDb Top 250, Popular and similar charts as optional home rows.
Recommendations
- Use Moonfin Recommends for similar items (Jellyfin 12+): on by default. Moonbase scores the "more like this" titles itself, matching on genres, tags, directors, writers, cast, studios, franchise, release year and rating, and only suggests what that user is allowed to see. Moonfin apps get these on any Jellyfin version. On Jellyfin 12 it also plugs into Jellyfin's own similar items, so every client gets them, the stock web interface included, and Jellyfin's own results only fill the slots Moonbase leaves empty. Turn it off to hand similar items back to Jellyfin everywhere, Moonfin apps included. On Emby the switch is Use Moonfin Recommends for similar items, also on by default. There only Moonfin apps get Moonfin's picks, and turning it off gives them Emby's own similar items.
Studio Logos
- Sync studio logos from TMDB and a refresh age. Downloads the studio logos the apps show on detail pages and in the Studios row, and caches them on the server. Dark, colorless logos are turned white so they show up on dark backgrounds. On Emby it's Enable studio logo sync, under TMDB Integration.
TMDB Integration
- Server-wide TMDB API Key: a free key from themoviedb.org. Used for episode ratings, TMDB list rows, studio logos, a series' next air date when there's no Sonarr to ask, and the seasonal row. It's also how custom rows learn each title's age rating, which they need to respect a user's parental limit. Without any TMDB key, a user with a parental limit gets empty MDBList, IMDb and Letterboxd rows, since a title with no known rating is left out.
Each of these syncs runs as a scheduled task you can trigger by hand under Dashboard > Scheduled Tasks: Moonfin MDBList Ratings Sync, Moonfin MDBList Official Lists Sync, Moonfin IMDb Lists Sync, Moonfin Custom Lists Sync (Jellyfin), Moonfin Studio Images Sync and Moonfin Seasonal Keywords Sync. Ratings appear after the first run, so run it once right after pasting a key rather than waiting for the schedule.
Seasonal row
There's nothing to switch on here. Users add the row to Home in their apps under Settings > Appearance > Home Screen > Rows, and pick its country and holidays under Seasonal Row on the same page. There's no admin default for whether it shows, since the apps offer it whenever Moonbase can fill it. Users who switch on Show All Year get the row outside the holiday dates too, with a different ticked holiday each day. The country, the holidays and Seasonal Row All Year have defaults under User defaults > Home Screen > External Sources. During a holiday window it shows the holiday movies a user owns, plus popular titles they don't have yet when Seerr is set up and the user is signed in to it. Movies are matched by their TMDB keywords:
- On Jellyfin, the keyword tags Jellyfin's own TMDB provider writes are enough for owned movies, so the row works without a key.
- Moonfin Seasonal Keywords Sync runs at startup and daily at 4:00 on both servers. With the server-wide TMDB key set it looks up the keywords of every movie, refreshing each one every 180 days. Emby doesn't store keywords at all, so on Emby the row depends on this task and the key. Run it once by hand after pasting the key.
- Suggestions need a TMDB key, the user's own or the server-wide one.
- Owned movies follow the server's own parental limits, and suggestions are checked against the user's limit using the TMDB rating for your metadata country. Under a limit, unrated titles are left out.
- Enable retro games switches the feature on. Everything is off until you do.
- Game libraries: tick the libraries that hold your ROMs.
- Emulator cores: games play out of the box from a public CDN. Install downloads the roughly 290 MB bundle onto your server so games work without reaching out, and Upload cores zip does the same from a file you provide.
-
RomM server, RomM client token and Library for RomM games: serve a RomM server's games as a game library. The token is an
rmm_client token from your RomM profile with theroms.read,platforms.readandfirmware.readscopes. A Mixed Content library pointed at an empty folder works well, and your server's library access decides who sees it. Test RomM connection checks the address and token before you save. RomM only has to be reachable from your server, but each user who links their own RomM account gets an approval link at this address, so use one their phones can open too. - Isolate the web app for PSP games: off by default. PSP games need cross-origin isolation to start in Moonfin Web, and the game player only gets it when the whole web app is isolated. Turn it on if PSP games stop with an error, Save, then reload Moonfin Web. Once it's on, anything cross-origin you've added to the web client has to allow isolation too.
Folder naming, box art, BIOS files, saves and per-platform support are on the Retro Games page.
- Detect incomplete recordings: on by default. Moonbase watches each recording's file as it's written and tags the ones that come out short, so the apps can mark them Incomplete. A recording someone stopped by hand is left alone. Live TV managers can choose Keep as Complete in the apps.
- Incomplete threshold (%): a recording shorter than this share of its scheduled time is incomplete. The default is 90.
- Re-record incomplete episodes and movies: off by default. Books the earliest later showing on any channel, preferring HD. Movies need a matching title and description. It keeps looking for 60 days.
- Delete incomplete copies: off by default. Once an episode records complete, its Incomplete copies are deleted, the same as deleting them yourself. Copies kept as complete stay, and movies are never deleted.
- Enable smart search: off by default. Lets people search with plain sentences like "90s movie about a kid pulled into a board game", using a small AI model that runs on your server. It finds movies, shows, people, music and books in your library, and with the server-wide TMDB key and Seerr set up, titles to request too. It uses about 120 MB of memory while on, and the first build can take an hour or more on a Raspberry Pi.
- Search model: English, the default, is the small and fast one. Multilingual understands searches in about 100 languages, but it's a 488 MB download and its first build takes about two and a half times as long. Nightly updates and searches stay quick with either model. Changing it rebuilds the index. Smart Search has the details.
Moonbase Sync sits at the top of this tab. It's the master switch: it turns on settings sync across devices for every user, and the Seerr and ratings integrations need it, since Moonfin apps treat the plugin as missing while it's off. Leave it on.
The Default User Settings below it are the starting point every user gets, split into the same sections the apps have: Account, General, Appearance, Home Screen, Libraries, Details Page, Playback and Integrations. Every control mirrors what the apps actually offer. Each category folds away, and a setting that depends on another one only shows while that one is on. When the apps look up a setting, the user's device profile comes first, then their Global profile, then your defaults for that kind of device, then your Global defaults. Settings Sync has the details.
- The buttons above the sections pick which defaults you're editing. Global applies to every device. TV, Desktop and Mobile win over Global on that kind of device, and a setting left on Same as Global there uses the Global default. Each button shows how many defaults it has set.
- A setting left on Not set (user decides) passes the user's own choice through. That is the right value for almost everything.
- A default only fills the gap. The first time someone signs in, the Moonfin app for Android, Apple, Windows and Linux saves every setting it has to the server, even ones they never touched. So a default you set or change later only reaches people who haven't signed in yet, unless you push.
- Apply Defaults To Users on the Actions tab writes the defaults you set over users' stored values, and connected apps pick it up immediately. Anything still on Not set, and any list you left empty, is left alone. See Actions below.
Details Page sets the Detail screen style (Classic, Modern, Spotlight, Nouveau, Minimalist, Stage, Premiere, Quick Look or Frost), the Metadata Row, where you tick which details show on detail pages and put them in order, and Default Sections, where you untick the sections users start without, like Reviews or Seerr's streaming services. Appearance covers the loading animation, the TV screensaver, the navigation bar with the phone and tablet Bottom Bar Style and Bottom Bar Tabs, plus the Friends button on Jellyfin, Poster Labels, and the seasonal effects with their density and the Focus Follower. Home Screen holds the media bar, the home layout builder, Hide Watched in Recent Rows, and the Seasonal Row country, holidays and Seasonal Row All Year. The IMDb, TMDB, Watching on MDBList, Seasonal Row and Radarr and Sonarr Calendar rows have no on or off default anymore, since the apps offer them whenever the server can fill them.
Media Bar Source offers Random, Recently Added, Recently Released and New Seasons & Episodes. Whatever the source, the media bar draws from the Default Libraries and Default Collections / Playlists you pick, together, and a Library or Collections source saved by an older version reads as Random. New Release Banner flags series with a new season or new episodes, and New Release Window (7 to 90 days) says how long an episode counts as new, for the banner and the New Seasons & Episodes source.
Hide Watched in Recent Rows also sets the user's own "Hide played in latest" setting on Jellyfin and Emby, and the media bar's Recently Added and Recently Released sources skip watched titles too.
The home layout builder lists every row a user can have. Its Custom Lists tab takes the same form as the apps, so you can add TMDB, Letterboxd and MDBList rows to everyone's Home. Per-Row Image Types sets Poster, Thumbnail or Banner for each row with the Classic row type.
Hidden libraries, under Libraries > Library Visibility, switches the libraries you pick off in each new user's Library Visibility. Jellyfin's own home screen hides them too, while Emby's own apps still show them. Users keep access and can show them again. Hidden from recently added, just below it, keeps the libraries you pick out of the Recently Added and Recently Released rows while they stay in navigation, the same as switching off "Show in recently added/released media" in Library Visibility. To apply either one to existing users, Save and then use Apply Defaults on the Actions tab. Moonbase only ever adds to a user's lists, so anything they hid themselves stays hidden.
Typical reasons to set a default: a house theme, the navigation position for a room full of TVs, a screensaver on TV clients, hiding the Seerr or Downloads button for a family server, or a sensible Max days in Next Up.
Uploaded Themes lists the custom themes on your server and lets you upload new ones. Themes are JSON files made in the built-in editor at https://<your server>/Moonfin/Web/theme/. The server checks each upload against the theme schema, so a broken file is refused rather than handed to clients. Connected apps see a new theme without restarting. Details on the Themes page. An uploaded theme can also be the default App Theme: pick it under Uploaded in User defaults > Appearance > App Theme, for Global or for one kind of device.
Labels are drawn by the Moonfin apps over movie and episode artwork. Your files and artwork are never changed. The tab has two parts, Poster labels and Anime episodes.
Poster labels
- Default look: the Style, Shape, Size, Corner and Opacity every label uses unless its own settings say otherwise, and Labels per corner (1 to 5), where the first ones in the list win.
- Built-in labels: switch on the ones you want. They're read from the server's own track data: resolution from 8K down to SD, DV, HDR10+, HDR10 and HLG, Atmos, DTS:X, TrueHD, DTS-HD MA, DTS, DD+ and DD, 7.1 and 5.1, AV1, HEVC, H.264 and VP9, and REMUX and IMAX from the file path. Each row shows at most one answer, so a 4K file never also says 1080p, apart from REMUX and IMAX, which can both show. None are on until you switch them on.
- Your labels: add your own with Add custom label, built from conditions on the file path and its tracks, with icons and flags. Open one to change its look, or limit it to some users or devices.
- Preview shows every label that's on over a poster from your library, and Test a file shows which labels one movie or episode really gets with the rules on screen, saved or not.
Users can turn labels off in their apps, and Poster Labels under User defaults > Appearance > Display sets that for new users. Labels work on Jellyfin, Emby and Moonbase for Plex.
Anime episodes
This is the Anime Filler & Recap Markers section, which used to be on the Integrations tab.
- Classify anime episodes as canon, mixed or filler: the main switch, off by default. Moonbase matches your anime by title against AnimeFillerList so the apps can badge filler episodes. When your library's title doesn't match, for example because it's in Catalan or Spanish, Moonbase looks up the show's English and romaji titles on AniList from the series' provider ids and tries those. No account or API key needed.
- Libraries to look in: leave everything unchecked to consider every library. Treat everything in the selected libraries as anime skips the "does this look like anime" check for the Subbed and Dubbed pills. Only turn it on when the libraries you picked hold nothing but anime.
- Also mark recap episodes (uses MyAnimeList): on by default. AnimeFillerList has no recap category, so this asks MyAnimeList as well. If that lookup fails, the filler data is unaffected.
- Also mark episodes and seasons as Subbed or Dubbed and Also mark movies as Subbed or Dubbed: these read the audio tracks in your own files and need no internet. Japanese audio and nothing else is Subbed, any other spoken language makes it Dubbed, and audio with no language tag is left unmarked. A season only gets a pill when every episode agrees. Label dual-audio files as Subbed/Dubbed shows a file that has both as Subbed/Dubbed instead of just Dubbed.
- Where to put the pills: below the runtime, beside it, or on the episode thumbnail. Season and movie cards always put the pill on the artwork.
- Which pills to show: Filler, Mixed canon and filler, Recap, Manga canon and Anime canon. The two canon pills are off by default, because nearly every episode of most shows is canon. A pill switched off here is never sent to any app.
- Marker refresh age (days): shows older than this are fetched again (default 30). It mostly decides how quickly an airing show picks up new episodes.
- Check matching shows how many of your series matched a show on the site and names some that didn't. Clear marker cache throws away everything fetched so far. Type a name into Preview a series to see which of your episodes each marker landed on, and Fetch now pulls that one show straight away instead of waiting for the task.
- Audio pill wording: Full shows Subbed, Dubbed and Subbed/Dubbed, Short shows Sub, Dub and Sub/Dub.
-
Write a marker debug log: records every marker request an app makes, and the answer, to
moonfin-anime-markers.login the server's log folder, so it also shows under Dashboard > Logs. Show log and Clear log sit below it. If a badge is missing and its request never shows up in the log, the app never asked. Leave it off otherwise.
Markers appear after the Moonfin Anime Markers Sync task has run. It runs every night and never at startup, because it waits 10 seconds between pages to go easy on the site. Each run stops after 45 minutes, or after 5 failed fetches in a row, and carries on the next night, so a big library can take a few nights the first time.
Server messages are notes from you to your users that show up inside their apps, even if they were offline when you wrote them.
- Title, a Markdown body, a color, How to show it (a badge on the menu button, or the message window opening once on its own), an audience (everyone, the users you pick, or only admins), optional start and end dates, and an optional link button.
- Saved Messages lists what you've written. Edit or delete from there.
- For a quick one-off with no scheduling, use Broadcast Message on the Actions tab instead.
Messages go out over the live connection and as a push notification to phones that have one registered. In the Moonfin apps they appear in a messages window with an unread badge. On Smart TVs they appear as an on-screen notice.
PINs lists every user, administrators first, with whether they have a sign-in PIN. Set PIN, Change PIN and Remove PIN work without the old PIN, so setting a new one is how you reset a forgotten PIN. Users set their own PIN in the apps under Settings > Account > PIN Code, and it follows them to every device. A PIN is four digits, and only a salted hash of it is stored. After five wrong guesses each new one waits 30 seconds longer, up to 15 minutes.
Watch Parties are rooms where people on your server watch the same thing together in their Moonfin apps, with chat, reactions and a vote on what to watch. It's all on by default. Watch Parties has the details.
- Turn on Watch Parties: the main switch. Turning it off closes every open room.
- Let hosts turn on Everyone can control playback, Chat and Reactions: what a room may use.
- Party alerts: lets users who opted in hear when someone starts a party they can watch, as a push on their phone.
- People per room: 20 by default, up to 100.
- SyncPlay relay for Roku (Jellyfin): on by default. Roku can't open secure sockets, so on a server reached over https Moonbase passes SyncPlay messages to it instead. Moonbase's own Watch Parties don't need it.
- Live rooms lists the open rooms, with Close room and Remove for a member.
Each user's own choices, like what Jellyfin users start (a Watch Party or SyncPlay), chat over the video and party alerts, have their defaults on the User defaults tab under Playback > Watch Parties. The Watch Parties default there used to be called Enable SyncPlay, and users who had SyncPlay saved as off keep Watch Parties off. To turn parties on for them, set that default to Yes and use Apply Defaults. Invite links use the Public Server URL from the Web Client tab when it's set, see Watch Parties.
- Apply Defaults To Users pushes your defaults onto users who already have settings. Pick all users or only some, tick the profiles to push (Global, TV, Desktop, Mobile), and push every set default or click Pick settings to choose them from a list. Merge replaces only the pushed settings and keeps everything else a user chose. Each profile's defaults go into the same profile, and Global's also go into every device profile a user already has, except where that device has its own default. Full reset erases each user's settings, device profiles included, and starts them over from the defaults, and for all users it also removes settings left behind by deleted users. It only works with every set default. Applying saves the page first.
- Copy A User's Settings starts someone off with a setup you already like. Pick the user to copy from and the users to copy to, tick the profiles, and copy everything they saved or pick settings from a list. Merge into theirs keeps whatever the copy leaves out, Replace theirs makes each picked profile an exact copy. API keys and hidden Continue Watching and Next Up items never move.
- Broadcast Message: a one-off note to everyone right now.
The Active Downloads dashboard: every transcoded download your users have running, with live transcode metrics. Useful to see who is making the server work before the first byte reaches their device. The tab only shows while a transcoded download is running, and the page checks every 10 seconds, so one that starts while the page is open still brings it up. Downloads at original quality copy the file as it is, so they never show here.
On Jellyfin, Web Plugin Status has the setup steps for the Moonfin button in Jellyfin's header (it needs the File Transformation plugin), and says to run the Moonfin Startup scheduled task once if the button doesn't load. On Emby, Opening Moonfin is a reminder that the web app is opened directly at /Moonfin/Web/.
Enable client log upload (Emby, under Diagnostics) lets your users send a diagnostic or crash report from the app with Send report to server. Reports land under Dashboard > Logs beside your server's own, named upload_<client>_<version>_<time>.txt. Emby has no way to receive one without this plugin, so it's on by default. Jellyfin takes these reports on its own, which is why its page doesn't have this switch. Moonbase for Silo and Plex has the switch on its Help tab and writes each report to its own log, since neither server gives it a log folder. The apps strip server addresses, IP addresses and access tokens out before sending, each user is limited to 10 reports an hour at 1 MB each, and turning this off makes the button in the apps go gray.
All of these live under Dashboard > Scheduled Tasks and can be run by hand:
| Task | What it does |
|---|---|
| Moonfin Startup | Registers the Jellyfin header button injection. Normally automatic. Run it once if the web app or the header button doesn't load after installing |
| Moonfin Settings File Repair | Checks every user's settings file and repairs or quarantines damaged ones. Runs at startup on its own |
| Moonfin MDBList Ratings Sync | Fetches ratings for your library from MDBList |
| Moonfin MDBList Official Lists Sync | Refreshes the MDBList list rows |
| Moonfin IMDb Lists Sync | Refreshes the IMDb chart rows |
| Moonfin Custom Lists Sync | Refreshes every custom home row your users have set up from Letterboxd, TMDB, MDBList and IMDb lists, so the rows are fresh before anyone opens them. Jellyfin only |
| Moonfin Studio Images Sync | Downloads studio logos from TMDB, and checks each logo already cached once so dark, colorless ones can be turned white |
| Moonfin Anime Markers Sync | Fetches filler, canon and recap data for the anime in your library. Runs nightly, never at startup, and stops after 45 minutes. On both servers |
| Moonfin Seasonal Keywords Sync | Looks up each movie's TMDB keywords for the seasonal row, refreshing a movie every 180 days. Runs at startup and daily at 4:00, and needs the server-wide TMDB key |
| Moonfin Smart Search Index | Indexes the library, and the most popular TMDB titles when the server-wide TMDB key is set, for Smart Search. Runs at startup and daily at 3:00, only indexes what changed, and does nothing while Smart Search is off |
| Moonfin Stuck Download Check | Runs every 15 minutes and tells the requester and the admins when a Radarr or Sonarr download for a Seerr request gets stuck. Does nothing while Notify when a request gets stuck is off |
Almost everything works the same on both servers. The differences:
| Feature | Jellyfin | Emby |
|---|---|---|
| Moonfin button in the server's own web header | Yes, with the File Transformation plugin | No, Emby has no way to inject it. Open /Moonfin/Web/ directly |
| Moonfin Recommends for similar items | Yes, and on Jellyfin 12 for every client, the stock web interface included | Yes, for Moonfin apps. Emby's own apps keep Emby's similar items |
| Moonfin Custom Lists Sync task | Yes | No, custom rows refresh when someone loads them |
| Seasonal row, owned movies | Works from Jellyfin's own keyword tags, and the Seasonal Keywords Sync task fills in the rest | Needs the server-wide TMDB key and the Seasonal Keywords Sync task, since Emby stores no keywords |
| Smart Search, library matches | Uses plot, genres, cast and Jellyfin's TMDB keyword tags | Uses plot, genres and cast, since Emby stores no keywords |
| Admin default for the Friends button | Yes | No |
| Watch Parties, the choice of starting SyncPlay groups instead, and the SyncPlay relay for Roku | Yes | No, Emby has no SyncPlay |
| Settings File Repair | Scheduled task | Runs at startup automatically, plus a manual task |
| Client log upload from the apps ("Send report to server") | Yes, Jellyfin has its own endpoint, so the plugin isn't needed | Yes, but only through this plugin, since Emby has no endpoint for it. Needs Enable client log upload |
| Everything else: sync, per-device defaults and Copy Settings, settings backup and the restore banner, Seerr and its webhook status, notifications, stuck download notifications, the calendar and reminders, ratings, list rows, studio logos, poster labels, anime filler, recap and Subbed/Dubbed markers, retro games with artwork, arcade files, per-game core picks, saves, self-hosted cores and PSP isolation, audiobook bookmarks and notes, themes, messages, watch parties, collection ordering, active downloads | Yes | Yes |
User settings, Seerr sessions, themes, saves and caches are in a Moonfin folder under your server's plugin configuration directory. Your own choices from this page are in an XML file next to it, and a spare copy of that file sits inside the Moonfin folder. Both, with backup and reset advice, are on Data Locations.
For server admins
- Installation
- Admin Guide
- Seerr Setup
- Calendar
- Smart Search
- Watch Parties
- Common Problems
- Retro Games
- Themes
Reference
For developers