[READ-ONLY] Mirror of https://github.com/FoxxMD/multi-scrobbler. Scrobble plays from multiple sources to multiple clients docs.multi-scrobbler.app
deezer docker jellyfin koito lastfm listenbrainz maloja mopidy mpris music music-assistant plex scrobble self-hosted spotify subsonic tautulli youtube-music
0

Configure Feed

Select the types of activity you want to include in your feed.

feat(jellyin): Add external URL guidance

#486

FoxxMD (Mar 12, 2026, 2:00 PM UTC) 8ba14649 68c46fef

+29 -13
+1
config/jellyfin.json.example
··· 17 17 "librariesBlock": ["BadMusic"], 18 18 "additionalAllowedLibraryTypes": ["musicvideos"], 19 19 "allowMediaTypes": ["audio"], 20 + "frontendUrlOverride": "https://myJellyfinExternal.tld" 20 21 }, 21 22 "options": { 22 23 "logPayload": true,
+28 -13
docsite/docs/configuration/sources/jellyfin.mdx
··· 35 35 36 36 </DetailsAdmo> 37 37 38 + <DetailsAdmo type="tip" summary="External Asset URL"> 39 + 40 + If you use MS and Jellyfin on an internal or otherwise inaccessible network but still want album art assets used in the UI or for [Discord](/config/clients/discord) to be accessible you can specify a URL to replace your internal url. 41 + 42 + Use (file) `frontendUrlOverride` or (env) `JELLYFIN_FRONTEND_URL_OVERRIDE` to replace `url`/`JELLYFIN_URL`, respectively, when rendering links for the dashboard UI or other resources. 43 + 44 + Example: 45 + 46 + Your `JELLYFIN_URL` is `http://jellyfin:8096` but your Jellyfin instance is externally accessible (by MS or in general) at `https://jellyfin.mydomain.com`. 47 + 48 + Use `JELLYFIN_FRONTEND_URL_OVERRIDE=https://jellyfin.mydomain.com` in order for the MS dashboard to use `https://jellyfin.mydomain.com/art/1234.jpg` when linking to album art. 49 + 50 + </DetailsAdmo> 51 + 38 52 #### Configuration 39 53 40 54 <Tabs groupId="configType" queryString> 41 55 <TabItem value="env" label="ENV"> 42 - | Environmental Variable | Required? | Default | Description | 43 - | --------------------------- | --------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 44 - | `JELLYFIN_URL` | **Yes** | | The URL of the Jellyfin server IE `http://localhost:8096` | 45 - | `JELLYFIN_USER` | **Yes** | | The user to authenticate with the API | 46 - | `JELLYFIN_APIKEY` | No | | The API Key to use for authentication **(Must provide either apikey or password)** | 47 - | `JELLYFIN_PASSWORD` | No | | The password of the user to authenticate for. **(Must provide either apikey or password)** | 48 - | `JELLYFIN_USERS_ALLOW` | No | | Comma-separated list of usernames (from Jellyfin) to scrobble for | 49 - | `JELLYFIN_USERS_BLOCK` | No | | Comma-separated list of usernames (from Jellyfin) to disallow scrobble for | 50 - | `JELLYFIN_DEVICES_ALLOW` | No | | Comma-separated list of devices to scrobble from | 51 - | `JELLYFIN_DEVICES_BLOCK` | No | | Comma-separated list of devices to disallow scrobbles from | 52 - | `JELLYFIN_LIBRARIES_ALLOW` | No | | Comma-separated list of libraries to allow scrobbles from | 53 - | `JELLYFIN_LIBRARIES_BLOCK` | No | | Comma-separated list of libraries to disallow scrobbles from | 54 - | `JELLYFIN_MEDIATYPES_ALLOW` | No | | Comma-separated list of [media types](https://github.com/jellyfin/jellyfin-sdk-typescript/blob/master/src/generated-client/models/media-type.ts#L22) to allow scrobbling. Defaults to `audio` | 56 + | Environmental Variable | Required? | Default | Description | 57 + | -------------------------------- | --------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 58 + | `JELLYFIN_URL` | **Yes** | | The URL of the Jellyfin server IE `http://localhost:8096` | 59 + | `JELLYFIN_USER` | **Yes** | | The user to authenticate with the API | 60 + | `JELLYFIN_APIKEY` | No | | The API Key to use for authentication **(Must provide either apikey or password)** | 61 + | `JELLYFIN_PASSWORD` | No | | The password of the user to authenticate for. **(Must provide either apikey or password)** | 62 + | `JELLYFIN_USERS_ALLOW` | No | | Comma-separated list of usernames (from Jellyfin) to scrobble for | 63 + | `JELLYFIN_USERS_BLOCK` | No | | Comma-separated list of usernames (from Jellyfin) to disallow scrobble for | 64 + | `JELLYFIN_DEVICES_ALLOW` | No | | Comma-separated list of devices to scrobble from | 65 + | `JELLYFIN_DEVICES_BLOCK` | No | | Comma-separated list of devices to disallow scrobbles from | 66 + | `JELLYFIN_LIBRARIES_ALLOW` | No | | Comma-separated list of libraries to allow scrobbles from | 67 + | `JELLYFIN_LIBRARIES_BLOCK` | No | | Comma-separated list of libraries to disallow scrobbles from | 68 + | `JELLYFIN_MEDIATYPES_ALLOW` | No | | Comma-separated list of [media types](https://github.com/jellyfin/jellyfin-sdk-typescript/blob/master/src/generated-client/models/media-type.ts#L22) to allow scrobbling. Defaults to `audio` | 69 + | `JELLYFIN_FRONTEND_URL_OVERRIDE` | No | | The external URL to use for album art assets instead of `JELLYFIN_URL` | 55 70 </TabItem> 56 71 <TabItem value="file" label="File"> 57 72