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 types (likemixedorbookfor audiobooks)
- multi-scrobbler will only scrobble media Jellyfin detects as Audio.
- To force multi-scrobbler to scrobble when media is detected as Unknown use
"allowUnknown": truein file/aio configuration.
- To force multi-scrobbler to scrobble when media is detected as Unknown use
Configuration
- ENV
- File
- AIO
| 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 |
CONFIG_DIR/jellyfin.json
[
{
"name": "MyJellyfin",
"enable": true,
"clients": [],
"data": {
"url": "http://localhost:8096",
"user": "FoxxMD",
"apiKey": "c9fae8756fbf481ebd9c5bb56bd6540c",
// everything below is optional
"usersAllow": ["FoxxMD","SomeOtherUser"],
"usersBlock": ["AnotherUser"],
"devicesAllow": ["firefox"],
"devicesBlock": ["google-home"],
"librariesAllow": ["GoodMusic"],
"librariesBlock": ["BadMusic"],
"additionalAllowedLibraryTypes": ["musicvideos"],
"allowUnknown": false,
},
"options": {
"logPayload": true,
"logFilterFailure": "debug"
}
}
]
or explore the schema with an example and live editor/validator
CONFIG_DIR/config.json
{
"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"
],
"allowUnknown": false
},
"options": {
"logPayload": true,
"logFilterFailure": "debug"
},
"type": "jellyfin"
}
]
}
or explore the schema with an example and live editor/validator