From < 0.14.0
You MUST upgrade to this version before upgrading Multi-Scrobbler to a newer version.
This version contains functionality to migrate your data from < 0.14.0 that newer versions depend on.
Upgrade Process Example
- Upgrade Multi-Scrobbler 0.13.2 to 0.14.0
- After upgrading, you can optionally upgrade to > 0.14.0
Source/Client IDs
MS 0.14.0 introduces a database for persisting Plays/Scrobbles, queues, and other data associated with a Source/Client.
To make this association atomic a Source/Client ID is now configurable. This ID is what MS will use to identify the Source/Client in your config with the Source/Client in the database.
This ID needs to be unique to the client or source type it is used on IE:
- two Koito Clients cannot both have the ID
myKoitoID - it is recommended that the ID be globally unique among all sources/clients, but it's not required
Configuring IDs
- ENV
- File
- AIO
For each Source/Client in your environmental variables, add a key with the suffix _ID and the ID value. EX
services:
multi-scrobbler:
# ...
environment:
- KOTIO_TOKEN=...
# ...more koito config
- KOITO_ID=myKoitoID
- JELLYFIN_URL=...
# ...more jellyin config
- JELLYFIN_ID=myJellyfinID
Add an id to the top-level for each Source/Client configuration, next to data:
[
{
"name": "koito-source",
"configureAs": "source",
"id": "myKoitoID",
"data": {
"token": "029b081ba-9156-4pe7-88e5-3be671f5ea2b",
"username": "admin",
"url": "http://192.168.0.100:4110"
}
}
]
Add an id to the top-level for each Source/Client configuration, next to data:
[
{
"name": "koito-source",
"configureAs": "source",
"type": "koito",
"id": "myKoitoID",
"data": {
"token": "029b081ba-9156-4pe7-88e5-3be671f5ea2b",
"username": "admin",
"url": "http://192.168.0.100:4110"
}
}
]
If you do not add an ID then Multi-Scrobbler will automatically use the name of the Source/Client as the ID. The name is shown in the Dashboard.
If you decide to add an ID later you must use the name as the ID in order to keep Plays/Scobbles associated with the same config.
Cached Scrobble Migration
Before upgrading, if your MS dashboard shows 0 queued/failed for all Scrobble Clients then you skip this step and can safely delete ms-scrobble.cache before the upgrade occurs.
MS 0.14.0 introduces a database for persisting Plays/Scrobbles, queues, and other data. Prior to 0.14.0, queued/failed scrobbles were stored in a cache file inside your CONFIG_DIR named ms-scrobble.cache.
On first run of 0.14.0:
- MS will make a copy of
ms-scrobble.cachenamedms-scrobble.cache.bak- You may make a manual copy of this file before upgrading, for additional safety
- Scrobbles in the cache will automatically be migrated to the new database
- The now "old" cache data will be cleared so that subsequent application starts don't duplicate migrations
- the empty
ms-scrobble.cachefile will remain
- the empty
You can follow progress of this by looking for log lines starting with Migrating cached scrobbles to database...
If MS does not report/log any errors during this time and you see your scrobbles processed normally then it is safe to delete ms-scrobble.cache the next time MS is stopped/restarted.
Cache Configuration
In 0.14.0 Cache has been simplified with much of the required configuration being removed.
This only applies to users who have cache in their AIO Config config.json or are using CACHE_* ENV Config
If you do not have any of the above Cache configuration defined then you can skip this step.
Scrobble Caching Removed
Scrobble caching has removed and replaced by the new database.
- Remove any ENV Config starting with
CACHE_SCROBBLE - Remove
cache.scrobblefrom the AIO Config
Metadata Config Simplified
Metadata caching remains the same but the config has been simplified. If you were using Valkey for caching update your config:
- ENV
- AIO
- Remove
CACHE_METADATA - Rename
CACHE_METADATA_CONNtoCACHE_VALKEY
Remove cache.metadata and add a new string key valkey to the cache object, containing your valkey connection string:
"cache": {
+ "valkey": "redis://valkey:6379"
- "metadata": {
- "provider": "valkey",
- "connection": "redis://valkey:6379"
- }
}
Auth Config Simplified
Auth caching remains the same but the config has been simplified. The connection option for Auth is no longer configurable. You may specify provider as either file (default, uses CONFIG_DIR) or valkey. If you want to use Valkey for auth it will use the same config as Metadata.
- ENV
- AIO
- Remove
CACHE_AUTH_CONN - Add
CACHE_VALKEY(if using valkey)
Remove the connection property from the auth object. If using file the entire auth object can be removed.
"cache": {
+ "valkey": "redis://valkey:6379",
"auth": {
"provider": "valkey",
- "connection": "redis://valkey:6379"
}
}
Renamed ENV Keys
In an effort to standard ENV prefixes some ENV keys have been renamed:
LZENDPOINT_ENABLE=>LZE_ENABLELFMENDPOINT_ENABLE=>LFM_ENABLE