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 ```