Jellyfin
Must be using Jellyfin 10.7 or greater
- Create an API Key for multi-scrobbler
- In the Jellyfin desktop web UI Navigate to -> Administration -> Dashboard -> API Keys (
http://YOUR_JELLYIN_URL/web/index.html#!/apikeys.html) - Click
+button and create a new key with App namemulti-scrobbler - Copy the created API Key value for use in configuration below
- In the Jellyfin desktop web UI Navigate to -> Administration -> Dashboard -> API Keys (
It is recommended to use API Key + username but if you are not an admin for your Jellyfin instance you can also authenticate with your Jellyfin username and password.
Important Defaults
By default...
- multi-scrobbler will only scrobble for the user authenticated with the API.
- Allowed Users (
usersAlloworJELLYFIN_USERS_ALLOW) are only necessary if you want to scrobble for additional users.
- Allowed Users (
- multi-scrobbler will only scrobble media found in Jellyfin libraries that were labelled as Music.
librariesAlloworJELLYFIN_LIBRARIES_ALLOWwill override this- OR use
additionalAllowedLibraryTypesto allow more library types (like those labelled asmixedorbookfor audiobooks)
- multi-scrobbler will only scrobble media Jellyfin detects as Audio.
- To allow other media types to be scrobbled set
allowMediaTypesorJELLYFIN_MEDIATYPES_ALLOWwith a list of official types.- One or more of:
Unknown,Video,Audio,Photo,Book - If you use this setting you must explicitly specify
Audio, it will no longer be provided as a default
- One or more of:
- To allow other media types to be scrobbled set
External Asset URL
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 to be accessible you can specify a URL to replace your internal url.
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.
Example:
Your JELLYFIN_URL is http://jellyfin:8096 but your Jellyfin instance is externally accessible (by MS or in general) at https://jellyfin.mydomain.com.
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.
Configuration
- ENV
- File
- AIO
This is configuration for the ENV Config Type.
| Environmental Variable | Required? | Default | Description |
|---|---|---|---|
JELLYFIN_URL | Yes | The URL of the Jellyfin server IE http://localhost:8096 | |
JELLYFIN_USER | Yes | The user to authenticate with the API | |
JELLYFIN_APIKEY | No | The API Key to use for authentication (Must provide either apikey or password) | |
JELLYFIN_PASSWORD | No | The password of the user to authenticate for. (Must provide either apikey or password) | |
JELLYFIN_USERS_ALLOW | No | Comma-separated list of usernames (from Jellyfin) to scrobble for | |
JELLYFIN_USERS_BLOCK | No | Comma-separated list of usernames (from Jellyfin) to disallow scrobble for | |
JELLYFIN_DEVICES_ALLOW | No | Comma-separated list of devices to scrobble from | |
JELLYFIN_DEVICES_BLOCK | No | Comma-separated list of devices to disallow scrobbles from | |
JELLYFIN_LIBRARIES_ALLOW | No | Comma-separated list of libraries to allow scrobbles from | |
JELLYFIN_LIBRARIES_BLOCK | No | Comma-separated list of libraries to disallow scrobbles from | |
JELLYFIN_MEDIATYPES_ALLOW | No | Comma-separated list of media types to allow scrobbling. Defaults to audio | |
JELLYFIN_FRONTEND_URL_OVERRIDE | No | The external URL to use for album art assets instead of JELLYFIN_URL |
Config Structure
This displays the structure of the File Configuration for a jellyfin type Source with all possible properties, their shape, and descriptions/types. Use this to understand how to write a valid config.
Config Example
This displays an example config file of a jellyfin Source File Configuration that adheres to the shown Config Structure.
- text mode lets you edit the JSON directly.
- tree mode gives you a guided point-and-click editing experience that always keeps the JSON syntax valid.
Both modes validate that the configuraion is correct. Any errors show up as squiggly lines.
After you finish editing, switch to text and then copy all text to get a completed config.
Config Example Mobile Experience
This displays an example config file of a jellyfin Source File Configuration that adheres to the shown Config Structure.
The example config file editor is meant for a larger screen experience so only the read-only example is shown. Please use this site on a tablet/laptop/desktop to enable file editor features.
[
{
"name": "MyJellyfin",
"enable": true,
"clients": [],
"data": {
"url": "http://localhost:8096",
"user": "FoxxMD",
"apiKey": "c9fae8756fbf481ebd9c5bb56bd6540c",
"usersAllow": [
"FoxxMD",
"SomeOtherUser"
],
"usersBlock": [
"AnotherUser"
],
"devicesAllow": [
"firefox"
],
"devicesBlock": [
"google-home"
],
"librariesAllow": [
"GoodMusic"
],
"librariesBlock": [
"BadMusic"
],
"additionalAllowedLibraryTypes": [
"musicvideos"
],
"allowMediaTypes": [
"audio"
],
"frontendUrlOverride": "https://myJellyfinExternal.tld"
},
"options": {
"logPayload": true,
"logFilterFailure": "debug"
}
}
]
Config Structure
This displays the structure of the all-in-one (config.json) configuration with all possible properties, their shape, and descriptions/types. Use this to understand how to write a valid config.
Select the jellyfin type from the respective sources node below, then expand it.
Config Example
This displays an example config file of a all-in-one (config.json) configuration that includes a jellyfin Source that adheres to the shown Config Structure.
- text mode lets you edit the JSON directly.
- tree mode gives you a guided point-and-click editing experience that always keeps the JSON syntax valid.
Both modes validate that the configuraion is correct. Any errors show up as squiggly lines.
After you finish editing, switch to text and then copy all text to get a completed config.
Config Example Mobile Experience
This displays an example config file of a all-in-one (config.json) configuration that includes a jellyfin Source that adheres to the shown Config Structure.
The example config file editor is meant for a larger screen experience so only the read-only example is shown. Please use this site on a tablet/laptop/desktop to enable file editor features.
{
"sources": [
{
"name": "MyJellyfin",
"enable": true,
"clients": [],
"data": {
"url": "http://localhost:8096",
"user": "FoxxMD",
"apiKey": "c9fae8756fbf481ebd9c5bb56bd6540c",
"usersAllow": [
"FoxxMD",
"SomeOtherUser"
],
"usersBlock": [
"AnotherUser"
],
"devicesAllow": [
"firefox"
],
"devicesBlock": [
"google-home"
],
"librariesAllow": [
"GoodMusic"
],
"librariesBlock": [
"BadMusic"
],
"additionalAllowedLibraryTypes": [
"musicvideos"
],
"allowMediaTypes": [
"audio"
],
"frontendUrlOverride": "https://myJellyfinExternal.tld"
},
"options": {
"logPayload": true,
"logFilterFailure": "debug"
},
"type": "jellyfin"
}
]
}