diff --git a/config/azuracast.json.example b/config/azuracast.json.example
index 73e762ec..5844431d 100644
--- a/config/azuracast.json.example
+++ b/config/azuracast.json.example
@@ -2,7 +2,8 @@
{
"type": "azuracast",
"enable": true,
- "name": "azura",
+ "name": "Cool Station",
+ "id": "myAzura",
"data": {
"url": "ws://192.168.0.101",
"station": "my-station-name",
diff --git a/config/chromecast.json.example b/config/chromecast.json.example
index a820c5c0..5d0d80be 100644
--- a/config/chromecast.json.example
+++ b/config/chromecast.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "MyCast",
+ "name": "My Cast",
+ "id": "myCast",
"data": {
"blacklistedDevices": [],
"whitelistedDevices": [],
diff --git a/config/deezer.json.example b/config/deezer.json.example
index 8ffdac08..9be2ae6f 100644
--- a/config/deezer.json.example
+++ b/config/deezer.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "DeezerARL",
+ "name": "Family Account",
+ "id": "myDeezerId"
"enable": true,
"clients": [],
"data": {
diff --git a/config/discord-local.json.example b/config/discord-local.json.example
index c2e84507..ad54919c 100644
--- a/config/discord-local.json.example
+++ b/config/discord-local.json.example
@@ -1,7 +1,8 @@
[
{
- "name": "MS",
+ "name": "Desktop",
"enable": true,
+ "id": "myDiscordLocal"
"data": {
"applicationId": "8190211179716453570",
"ipcLocations": ["192.168.0.105:6655"]
diff --git a/config/discord.json.example b/config/discord.json.example
index 939a139c..26fbfa56 100644
--- a/config/discord.json.example
+++ b/config/discord.json.example
@@ -1,7 +1,8 @@
[
{
- "name": "MS",
+ "name": "Discord",
"enable": true,
+ "id": "myDiscordRemote",
"data": {
"token": "Ma7XBvzRERK3gQdkX4dkb3OQ.6aaGmJ.rvFiiVrzG4VXHHL3LyhZYhpWdG3Ph_if9aKz5E",
"applicationId": "8190211179716453570"
diff --git a/config/endpointlfm.json.example b/config/endpointlfm.json.example
index bdb20351..9b7a5999 100644
--- a/config/endpointlfm.json.example
+++ b/config/endpointlfm.json.example
@@ -1,7 +1,8 @@
[
{
- "name": "myLfm",
+ "name": "LFM For App",
"enable": true,
+ "id": "myLfmApp",
"data": {
"slug": "mySlug"
}
diff --git a/config/endpointlz.json.example b/config/endpointlz.json.example
index 0c8139b1..6f10279c 100644
--- a/config/endpointlz.json.example
+++ b/config/endpointlz.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "myLz",
+ "name": "LZ for Navidrome",
+ "id": "myLzNavidrome",
"enable": true,
"data": {
"token": "myToken"
diff --git a/config/icecast.json.example b/config/icecast.json.example
index 406569d7..84afe319 100644
--- a/config/icecast.json.example
+++ b/config/icecast.json.example
@@ -1,7 +1,8 @@
[
{
- "name": "myIcy",
+ "name": "Station 1",
"enable": true,
+ "id": "myIceStation1",
"data": {
"url": "http://myIcecast.com/radio"
}
diff --git a/config/jellyfin.json.example b/config/jellyfin.json.example
index 1f15a74d..64154373 100644
--- a/config/jellyfin.json.example
+++ b/config/jellyfin.json.example
@@ -1,7 +1,8 @@
[
{
- "name": "MyJellyfin",
+ "name": "Cool JF Server",
"enable": true,
+ "id": "myJellyfin",
"clients": [],
"data": {
"url": "http://localhost:8096",
diff --git a/config/jriver.json.example b/config/jriver.json.example
index 891f2496..a424d1f9 100644
--- a/config/jriver.json.example
+++ b/config/jriver.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "MyJriver",
+ "name": "My JRiver Server",
+ "id": "myRiver",
"enable": true,
"data": {
"url": "0.0.0.0",
diff --git a/config/kodi.json.example b/config/kodi.json.example
index 5b7ebf34..b8ec348a 100644
--- a/config/kodi.json.example
+++ b/config/kodi.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "MyKodi",
+ "name": "My Kodi Server",
+ "id: "myKodi",
"enable": true,
"data": {
"url": "http://localhost:8080/jsonrpc",
diff --git a/config/koito.json.example b/config/koito.json.example
index 6c2ea492..71284e3f 100644
--- a/config/koito.json.example
+++ b/config/koito.json.example
@@ -1,6 +1,7 @@
[
- {
- "name": "koito-client",
+ {
+ "name": "Koito Client A",
+ "id": "myKoitoClient",
"configureAs": "client",
"data": {
"token": "029b081ba-9156-4pe7-88e5-3be671f5ea2b",
@@ -9,7 +10,8 @@
}
},
{
- "name": "koito-source",
+ "name": "Koito Source B",
+ "id": "myKoitoSource",
"configureAs": "source",
"data": {
"token": "029b081ba-9156-4pe7-88e5-3be671f5ea2b",
diff --git a/config/lastfm.json.example b/config/lastfm.json.example
index 3cb4fe7a..d7ed0733 100644
--- a/config/lastfm.json.example
+++ b/config/lastfm.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "myLastFmClient",
+ "name": "Foxx LFM Client",
+ "id": "myLastFmClient",
"enable": true,
"configureAs": "client",
"data": {
@@ -10,7 +11,8 @@
}
},
{
- "name": "myLastFmSource",
+ "name": "Foxx LFM Source",
+ "id": "myLastFmSource",
"enable": true,
"configureAs": "source",
"data": {
diff --git a/config/librefm.json.example b/config/librefm.json.example
index c6359627..65e7ac0d 100644
--- a/config/librefm.json.example
+++ b/config/librefm.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "myLibreFmClient",
+ "name": "Foxx Libre Client",
+ "id": "myLibreFmClient",
"enable": true,
"configureAs": "client",
"data": {
@@ -10,7 +11,8 @@
}
},
{
- "name": "myLibreFmSource",
+ "name: "Foxx Libre Source",
+ "id": "myLibreFmSource",
"enable": true,
"configureAs": "source",
"data": {
diff --git a/config/listenbrainz.json.example b/config/listenbrainz.json.example
index 9eebf13f..1124bfb9 100644
--- a/config/listenbrainz.json.example
+++ b/config/listenbrainz.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "brainzClient",
+ "name": "Foxx LZ Client",
+ "id": "brainzClient",
"enable": true,
"configureAs": "client",
"data": {
@@ -10,7 +11,8 @@
}
},
{
- "name": "brainzSource",
+ "name": "Foxx LZ Source",
+ "id": "brainzSource",
"enable": true,
"configureAs": "source",
"data": {
diff --git a/config/maloja.json.example b/config/maloja.json.example
index 00cd2e14..ef51c569 100644
--- a/config/maloja.json.example
+++ b/config/maloja.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "myMaloja-client",
+ "name": "Maloja Client",
+ "id": "myMalojaClient",
"enable": true,
"configureAs": "client",
"data": {
@@ -9,7 +10,8 @@
}
},
{
- "name": "myMaloja-source",
+ "name": "Maloja Source",
+ "id": "myMalojaSource",
"enable": true,
"configureAs": "source",
"data": {
diff --git a/config/mopidy.json.example b/config/mopidy.json.example
index b4f9286e..9c2e004f 100644
--- a/config/mopidy.json.example
+++ b/config/mopidy.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "MyMopidy",
+ "name": "Mopidy Desktop",
+ "id": "MyMopidy",
"enable": true,
"data": {
"url": "localhost",
diff --git a/config/mpd.json.example b/config/mpd.json.example
index fc4d5815..7db7965f 100644
--- a/config/mpd.json.example
+++ b/config/mpd.json.example
@@ -1,7 +1,8 @@
[
{
"enable": true,
- "name": "MyMPD",
+ "id": "myMPD",
+ "name": "Desktop",
"data": {
"url": "192.168.0.100:6600",
"password": "MY_PASSWORD"
diff --git a/config/mpris.json.example b/config/mpris.json.example
index 32d589ff..0090482c 100644
--- a/config/mpris.json.example
+++ b/config/mpris.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "ubuntu",
+ "name": "Desktop",
+ "id": "myMprisUbuntu"
"enable": true,
"data": {
"whitelist": ["vlc", "mpd"],
diff --git a/config/musiccast.json.example b/config/musiccast.json.example
index a741c347..f4d2e742 100644
--- a/config/musiccast.json.example
+++ b/config/musiccast.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "myYamaha",
+ "name": "Livingroom Reciever",
+ "id": "myYamaha"
"enable": true,
"data": {
"url": "192.168.0.101"
diff --git a/config/musikcube.json.example b/config/musikcube.json.example
index 1d6e6f6e..fbac36ae 100644
--- a/config/musikcube.json.example
+++ b/config/musikcube.json.example
@@ -2,7 +2,8 @@
{
"type": "musikcube",
"enable": true,
- "name": "musikcube",
+ "name": "Desktop",
+ "id": "myMusikcube",
"data": {
"url": "ws://localhost:7905",
"password": "MY_PASSWORD"
diff --git a/config/plex.json.example b/config/plex.json.example
index 278d3326..a0ce1779 100644
--- a/config/plex.json.example
+++ b/config/plex.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "MyPlexApi",
+ "name": "Foxx Plex",
+ "id": "MyPlexApi",
"enable": true,
"clients": [],
"data": {
diff --git a/config/rocksky.json.example b/config/rocksky.json.example
index dcbfecc2..ead4f3bb 100644
--- a/config/rocksky.json.example
+++ b/config/rocksky.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "myRockskyClient",
+ "id": "myRockskyClient",
+ "name": "FoxxMD Rocksky Client",
"configureAs": "client",
"data": {
"key": "7cdr86vis3mpq5b1pi01md0hkm7ykzzxjy81r",
@@ -8,7 +9,8 @@
}
},
{
- "name": "myRockskySource",
+ "id": "myRockskySource",
+ "name": "FoxxMD Rocksky Source",
"configureAs": "source",
"data": {
"key": "e4xwktm7jxm607x8el1fcda30eu14dzb64h3j",
diff --git a/config/sonos.json.example b/config/sonos.json.example
index 1eab0cc5..676084e8 100644
--- a/config/sonos.json.example
+++ b/config/sonos.json.example
@@ -1,7 +1,8 @@
[
{
"enable": true,
- "name": "MySonos",
+ "id": "MySonos",
+ "name": "Boom 2",
"data": {
"host": "192.168.0.150",
"devicesAllow": ["move","beam"],
diff --git a/config/spotify.json.example b/config/spotify.json.example
index 19dea779..3ffd43d8 100644
--- a/config/spotify.json.example
+++ b/config/spotify.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "MySpotify",
+ "id": "MySpotify",
+ "name": "Foxx Spotify",
"enable": true,
"clients": [],
"data": {
diff --git a/config/subsonic.json.example b/config/subsonic.json.example
index 2e4415cb..630f63b2 100644
--- a/config/subsonic.json.example
+++ b/config/subsonic.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "MySubsonic",
+ "id": "mySubsonic",
+ "name": "Airsonic Server"
"enable": true,
"data": {
"url": "http://localhost:4040/airsonic",
diff --git a/config/tealfm.json.example b/config/tealfm.json.example
index 1413b8c5..0180b587 100644
--- a/config/tealfm.json.example
+++ b/config/tealfm.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "myTeal",
+ "id": "myTealClient",
+ "name": "Foxx Teal Client",
"configureAs": "client",
"data": {
"identifier": "alice.bsky.social",
@@ -8,7 +9,8 @@
}
},
{
- "name": "myTealSource",
+ "id": "myTealSource",
+ "name": "Foxx Teal Source",
"configureAs": "source",
"data": {
"identifier": "alice.bsky.social",
diff --git a/config/vlc.json.example b/config/vlc.json.example
index 988040c5..cade24e2 100644
--- a/config/vlc.json.example
+++ b/config/vlc.json.example
@@ -1,7 +1,8 @@
[
{
"enable": true,
- "name": "MyVlc",
+ "id": "myVlc",
+ "name": "Desktop",
"data": {
"url": "localhost:8080",
"password": "changeme"
diff --git a/config/webscrobbler.json.example b/config/webscrobbler.json.example
index 3d69853e..114c2a61 100644
--- a/config/webscrobbler.json.example
+++ b/config/webscrobbler.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "MyWebScrobbler",
+ "id": "MyWebScrobbler",
+ "name": "Firefox Laptop",
"data": {
"slug": "MyOptionalSlug",
"whitelist": [],
diff --git a/config/ymbridge.json.example b/config/ymbridge.json.example
index 69cd7aee..0d85b517 100644
--- a/config/ymbridge.json.example
+++ b/config/ymbridge.json.example
@@ -1,5 +1,6 @@
[
{
+ "id": "myYandex",
"name": "Yandex Music",
"type": "ymbridge",
"data": {
diff --git a/config/ytmusic.json.example b/config/ytmusic.json.example
index 736c1840..f0baece4 100644
--- a/config/ytmusic.json.example
+++ b/config/ytmusic.json.example
@@ -1,6 +1,7 @@
[
{
- "name": "MyYTMusic",
+ "id": "myYtMusic",
+ "name": "Foxx YT Music",
"enable": true,
"clients": [],
"data": {
diff --git a/docsite/docs/quickstart.mdx b/docsite/docs/quickstart.mdx
index f38abac6..b3693256 100644
--- a/docsite/docs/quickstart.mdx
+++ b/docsite/docs/quickstart.mdx
@@ -54,6 +54,7 @@ services:
- JELLYFIN_URL=192.168.0.110:8096 # URL to Jellyfin UI
- JELLYFIN_APIKEY=c9fae8756fbf481ebd9c5bb56b # Api Key created in previous step
- JELLYFIN_USER=MyUser # Your username in Jellyfin
+ - JELLYFIN_ID=myJellyin
```
@@ -68,6 +69,7 @@ services:
- SPOTIFY_CLIENT_ID=yourClientId
- SPOTIFY_CLIENT_SECRET=yourClientSecret
- SPOTIFY_REDIRECT_URI=https://multi-scrobbler.mydomain.com/callback
+ - SPOTIFY_ID=mySpotify
```
Later, after [starting multi-scrobbler](#start-multi-scrobbler), visit the dashboard at `http://192.168.0.100:9078` and click **(Re)authenticate** on the Spotify card to authorize multi-scrobbler to use your account. Monitoring will begin automatically after authorization is complete.
@@ -83,6 +85,7 @@ services:
```yaml title="~/msData/docker-compose.yml"
- LZE_TOKEN=myCoolToken
+ - LZE_ID=navidromeLZ
```
The token can be anything. [(Re)start multi-scrobbler](#start-multi-scrobbler) after making this change.
@@ -105,6 +108,7 @@ services:
```yaml title="~/msData/docker-compose.yml"
- PLEX_URL=http://192.168.0.101:32400
- PLEX_TOKEN=6c0ihz8j7__f5r18oa0zm8
+ - PLEX_ID=myPlex
# optional, restrict scrobbling to a list of comma-delimited users
#- PLEX_USERS_ALLOW=myPlexUsername
```
@@ -132,6 +136,7 @@ services:
- SOURCE_LASTFM_API_KEY=MY_API_KEY_PLACEDHOLDER
- SOURCE_LASTFM_SECRET=MY_SECRET_PLACEHOLDER
- SOURCE_LASTFM_REDIRECT_URI=http://192.168.0.100:9078/lastfm/callback
+ - SOURCE_LASTFM_ID=myLFMSource
```
Later, after [starting multi-scrobbler](#start-multi-scrobbler), visit the dashboard at `http://192.168.0.100:9078` and click **(Re)authenticate** on the **Last.fm (Source)** card to authorize multi-scrobbler to use your account. Monitoring will begin automatically after authorization is complete.
@@ -251,6 +256,7 @@ Modify the `lastfm.json` file you created in the [Setup Sources](#setup-sources)
- KOITO_TOKEN=myToken
- KOITO_USER=myUser
- KOITO_URL=myURL
+ - KOITO_ID=myKoito
```
:::tip
@@ -274,6 +280,7 @@ Modify the `lastfm.json` file you created in the [Setup Sources](#setup-sources)
```yaml title="~/msData/docker-compose.yml"
- LASTFM_API_KEY=myApiKey
- LASTFM_SECRET=myApiSecret
+ - LASTFM_ID=myLfmClient
```
@@ -306,6 +313,7 @@ Modify the `lastfm.json` file you created in the [Setup Sources](#setup-sources)
```yaml title="~/msData/docker-compose.yml"
- MALOJA_URL=http://192.168.0.100:42010
- MALOJA_API_KEY=myApiKey
+ - MALOJA_ID=myMaloja
```