[READ-ONLY] Mirror of https://github.com/FoxxMD/multi-scrobbler. Scrobble plays from multiple sources to multiple clients docs.multi-scrobbler.app
deezer docker jellyfin koito lastfm listenbrainz maloja mopidy mpris music music-assistant plex scrobble self-hosted spotify subsonic tautulli youtube-music
0

Configure Feed

Select the types of activity you want to include in your feed.

docs: Update ENV configs with ID and name

FoxxMD (May 14, 2026, 8:33 PM UTC) d0e842ed a0c1f711

+121 -51
+2
docsite/docs/configuration/clients/koito.mdx
··· 54 54 <Config config="KoitoClientConfig" fileContent={JsonConfig} client name="koito"> 55 55 | Environmental Variable | Required? | Default | Description | 56 56 | :--------------------- | --------- | ------- | --------------------------------- | 57 + | `KOITO_ID` | Yes | | A unique id | 57 58 | `KOITO_TOKEN` | Yes | | API Key from your Koito Account | 58 59 | `KOITO_USER` | Yes | | Your Koito username | 59 60 | `KOITO_URL` | No | | The base URL for the Koito server | 61 + | `KOITO_NAME` | No | | A vanity name, different than ID | 60 62 </Config>
+2
docsite/docs/configuration/clients/lastfm.mdx
··· 51 51 <Config config="LastfmClientConfig" fileContent={JsonConfig} client name="lastfm"> 52 52 | Environmental Variable | Required? | Default | Description | 53 53 | ---------------------- | --------- | --------------------------------------- | ----------------------------------------------------------------------------- | 54 + | `LASTFM_ID` | Yes | | A unique id | 54 55 | `LASTFM_API_KEY` | Yes | | Api Key from your API Account | 55 56 | `LASTFM_SECRET` | Yes | | Shared secret from your API Account | 56 57 | `LASTFM_REDIRECT_URI` | No | `http://localhost:9078/lastfm/callback` | Url to use for authentication. Must include `lastfm/callback` somewhere in it | 57 58 | `LASTFM_SESSION` | No | | Session id. Will be generated by authentication flow if not provided. | 59 + | `LASTFM_NAME` | No | | A vanity name, different than ID | 58 60 </Config>
+3 -1
docsite/docs/configuration/clients/librefm.mdx
··· 56 56 <Config config="LibrefmClientConfig" fileContent={JsonConfig} client name="librefm"> 57 57 | Environmental Variable | Required? | Default | Description | 58 58 | ---------------------- | --------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------ | 59 - | `LIBREFM_ENABLE` | No | | Set to `true` to enable Libre.fm, if not using any of the below variables | 59 + | `LIBREFM_ID` | Yes | | A unique ID | 60 + | `LIBREFM_ENABLE` | No | | Set to `true` to enable Libre.fm, if not using any of the below variables | 60 61 | `LIBREFM_API_KEY` | No | `anything` | Optional API Key | 61 62 | `LIBREFM_SECRET` | No | `anything` | Optional shared secret | 62 63 | `LIBREFM_REDIRECT_URI` | No | `http://localhost:9078/librefm/callback` | Url to use for authentication. Must include `librefm/callback` somewhere in it | 63 64 | `LIBREFM_SESSION` | No | | Session id. Will be generated by authentication flow if not provided. | 64 65 | `LIBREFM_URLBASE` | No | | Use for custom Libre.fm instance only. The host + path prefix EX `https://my.libre.example/2.0/` | 66 + | `LIBREFM_NAME` | No | | A vanity name different than ID | 65 67 </Config>
+2
docsite/docs/configuration/clients/listenbrainz.mdx
··· 25 25 <Config config="ListenBrainzClientConfig" fileContent={JsonConfig} client name="listenbrainz"> 26 26 | Environmental Variable | Required? | Default | Description | 27 27 | ---------------------- | --------- | ----------------------------- | ------------------------------- | 28 + | `LZE_ID` | Yes | | A unique ID | 28 29 | `LZ_TOKEN` | Yes | | User token from your LZ profile | 29 30 | `LZ_USER` | Yes | | Your LZ username | 30 31 | `LZ_URL` | No | https://api.listenbrainz.org/ | The base URL for the LZ server | 32 + | `LZ_NAME` | No | | A vanity name different than ID | 31 33 </Config>
+6 -4
docsite/docs/configuration/clients/maloja.mdx
··· 38 38 ## Configuration 39 39 40 40 <Config config="MalojaClientConfig" fileContent={JsonConfig} client name="maloja"> 41 - | Environmental Variable | Required? | Default | Description | 42 - |------------------------|-----------|---------|-------------------------------| 43 - | `MALOJA_URL` | Yes | | Base URL of your installation | 44 - | `MALOJA_API_KEY` | Yes | | Api Key | 41 + | Environmental Variable | Required? | Default | Description | 42 + | ---------------------- | --------- | ------- | ------------------------------- | 43 + | `MALOJA_ID` | Yes | | A unique ID | 44 + | `MALOJA_URL` | Yes | | Base URL of your installation | 45 + | `MALOJA_API_KEY` | Yes | | Api Key | 46 + | `MALOJA_NAME` | No | | A vanity name different than ID | 45 47 </Config>
+2
docsite/docs/configuration/clients/rocksky.mdx
··· 67 67 <Config config="RockSkyClientConfig" fileContent={JsonConfig} client name="rocksky"> 68 68 | Environmental Variable | Required? | Default | Description | 69 69 | :--------------------- | --------- | ------- | ----------------------------------------------------------------------------------- | 70 + | `ROCKSKY_ID` | Yes | | A unique ID | 70 71 | `ROCKSKY_HANDLE` | Yes | | Your **full** ATProto handle. For Bluesky account this is like `myUser.bsky.social` | 71 72 | `ROCKSKY_KEY` | Yes | | API Key obtained from Rocksky developer dashboard | 73 + | `ROCKSKY_NAME` | No | | A vanity name different than ID | 72 74 </Config>
+2
docsite/docs/configuration/clients/tealfm.mdx
··· 73 73 <Config config="TealClientConfig" fileContent={JsonConfig} client name="tealfm"> 74 74 | Environmental Variable | Required? | Default | Description | 75 75 | :--------------------- | --------- | ------- | ------------------------------------------------------------------------------------------ | 76 + | `TEAMFM_ID` | Yes | | A unique ID | 76 77 | `TEALFM_IDENTIFIER` | Yes | | Your **full** ATProto handle or DID. For Bluesky account this is like `myUser.bsky.social` | 77 78 | `TEALFM_APP_PW` | Yes | | Bluesky/ATProto network App Password | 79 + | `TEALFM_NAME` | No | | A vanity name different than ID | 78 80 </Config>
+4 -2
docsite/docs/configuration/sources/azuracast.mdx
··· 52 52 <Config config="AzuracastSourceConfig" fileContent={AzuracastConfig} name="azuracast"> 53 53 | Environmental Variable | Required? | Default | Description | 54 54 | :--------------------- | :-------- | :------ | ---------------------------------------------------------------------------------------------- | 55 - | `AZ_URL` | Yes | | Azuracast URL *without station name* | 56 - | `AZ_STATION` | Yes | | The station name shown on the public page | 55 + | `AZURA_ID` | Yes | | A unique ID | 56 + | `AZURA_URL` | Yes | | Azuracast URL *without station name* | 57 + | `AZURA_STATION` | Yes | | The station name shown on the public page | 57 58 | `AZURA_LIVE` | No | Yes | Only scrobble when station status is ONLINE | 58 59 | `AZURA_LISTENERS_NUM` | No | `true` | Only scrobble if station has any listeners (`true`) or listeners are equal-to/greater-than `X` | 60 + | `AZURA_NAME` | No | | A vanity name different than ID | 59 61 </Config>
+3 -1
docsite/docs/configuration/sources/deezer.mdx
··· 176 176 <Tabs groupId="configType" queryString> 177 177 <TabItem value="env" label="ENV"> 178 178 | Environmental Variable | Required? | Default | Description | 179 - |------------------------|-----------|-----------------------------------------|-----------------------------------| 179 + | ---------------------- | --------- | --------------------------------------- | --------------------------------- | 180 + | `DEEZER_ID` | Yes | | A unique ID | 180 181 | `DEEZER_CLIENT_ID` | Yes | | Your **Application ID** | 181 182 | `DEEZER_CLIENT_SECRET` | Yes | | Your **Secret Key** | 182 183 | `DEEZER_REDIRECT_URI` | No | `http://localhost:9078/deezer/callback` | URI must end in `deezer/callback` | 184 + | `DEEZER_NAME` | No | | A vanity name different than ID | 183 185 </TabItem> 184 186 <TabItem value="file" label="File"> 185 187
+9 -7
docsite/docs/configuration/sources/google-cast.mdx
··· 149 149 [Manually configuring cast device connections](#connecting-devices) is only available through file-based config. 150 150 ::: 151 151 152 - | Environmental Variable | Required? | Default | Description | 153 - |------------------------|-----------|---------|--------------------------------------------------------------------------------------| 154 - | CC_ENABLE | No | | Set to 'true' to enable Cast monitoring without needing to define other ENVs | 155 - | CC_WHITELIST_DEVICES | No | | Only scrobble from these Cast devices. Comma-delimited list. EX mini-home, family-tv | 156 - | CC_BLACKLIST_DEVICES | No | | Do not scrobble from these Cast devices. Comma-delimited list | 157 - | CC_WHITELIST_APPS | No | | Only scrobble from these casted Apps. Comma-delimited list. EX spotify, pandora | 158 - | CC_BLACKLIST_APPS | No | | Do not scrobble from these casted Apps. Comma-delimited list | 152 + | Environmental Variable | Required? | Default | Description | 153 + | ---------------------- | --------- | ------- | ------------------------------------------------------------------------------------ | 154 + | `CC_ID` | Yes | | A unique ID | 155 + | `CC_ENABLE` | No | | Set to 'true' to enable Cast monitoring without needing to define other ENVs | 156 + | `CC_WHITELIST_DEVICES` | No | | Only scrobble from these Cast devices. Comma-delimited list. EX mini-home, family-tv | 157 + | `CC_BLACKLIST_DEVICES` | No | | Do not scrobble from these Cast devices. Comma-delimited list | 158 + | `CC_WHITELIST_APPS` | No | | Only scrobble from these casted Apps. Comma-delimited list. EX spotify, pandora | 159 + | `CC_BLACKLIST_APPS` | No | | Do not scrobble from these casted Apps. Comma-delimited list | 160 + | `CC_NAME` | No | | A vanity name different than ID | 159 161 </Config>
+5 -3
docsite/docs/configuration/sources/icecast.mdx
··· 64 64 ## Configuration 65 65 66 66 <Config config="IcecastSourceConfig" fileContent={IcecastConfig} name="icecast"> 67 - | Environmental Variable | Required? | Default | Description | 68 - | :--------------------- | :-------- | :------ | ----------- | 69 - | `ICECAST_URL` | Yes | | Icecast URL | 67 + | Environmental Variable | Required? | Default | Description | 68 + | :--------------------- | :-------- | :------ | ------------------------------- | 69 + | `ICECAST_ID` | Yes | | A unique ID | 70 + | `ICECAST_URL` | Yes | | Icecast URL | 71 + | `ICECAST_NAME` | No | | A vanity name different than ID | 70 72 </Config>
+2
docsite/docs/configuration/sources/jellyfin.mdx
··· 54 54 <Config config="JellyApiSourceConfig" fileContent={JellyfinConfig} name="jellyfin"> 55 55 | Environmental Variable | Required? | Default | Description | 56 56 | -------------------------------- | --------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 57 + | `JELLYFIN_ID` | **Yes** | | A unique ID | 57 58 | `JELLYFIN_URL` | **Yes** | | The URL of the Jellyfin server IE `http://localhost:8096` | 58 59 | `JELLYFIN_USER` | **Yes** | | The user to authenticate with the API | 59 60 | `JELLYFIN_APIKEY` | No | | The API Key to use for authentication **(Must provide either apikey or password)** | ··· 66 67 | `JELLYFIN_LIBRARIES_BLOCK` | No | | Comma-separated list of libraries to disallow scrobbles from | 67 68 | `JELLYFIN_MEDIATYPES_ALLOW` | No | | Comma-separated list of [media types](https://github.com/jellyfin/jellyfin-sdk-typescript/blob/master/src/generated-client/models/media-type.ts#L22) to allow scrobbling. Defaults to `audio` | 68 69 | `JELLYFIN_FRONTEND_URL_OVERRIDE` | No | | The external URL to use for album art assets instead of `JELLYFIN_URL` | 70 + | `JELLYFIN_NAME` | No | | A vanity name different than ID | 69 71 </Config>
+4 -2
docsite/docs/configuration/sources/jriver.mdx
··· 50 50 ## Configuration 51 51 52 52 <Config config="JRiverSourceConfig" fileContent={JriverConfig} name="jriver"> 53 - | Environmental Variable | Required | Default | Description | 54 - |------------------------|----------|---------------------------------|------------------------------------------------| 53 + | Environmental Variable | Required | Default | Description | 54 + | ---------------------- | -------- | ------------------------------- | ---------------------------------------------- | 55 + | JRIVER_ID | Yes | | A unique ID | 55 56 | JRIVER_URL | Yes | http://localhost:52199/MCWS/v1/ | The URL of the JRiver server | 56 57 | JRIVER_USERNAME | No | | If authentication is enabled, the username set | 57 58 | JRIVER_PASSWORD | No | | If authenticated is enabled, the password set | 59 + | JRIVER_NAME | No | | A vanity name different than ID | 58 60 </Config>
+7 -5
docsite/docs/configuration/sources/kodi.mdx
··· 51 51 ## Configuration 52 52 53 53 <Config config="KodiSourceConfig" fileContent={KodiConfig} name="kodi"> 54 - | Environmental Variable | Required | Default | Description | 55 - |------------------------|----------|-------------------------------|----------------------------| 56 - | KODI_URL | Yes | http://localhost:8080/jsonrpc | The URL of the Kodi server | 57 - | KODI_USERNAME | No | | The username set | 58 - | KODI_PASSWORD | No | | The password set | 54 + | Environmental Variable | Required | Default | Description | 55 + | ---------------------- | -------- | ----------------------------- | ------------------------------- | 56 + | KODI_ID | Yes | | A unique ID | 57 + | KODI_URL | Yes | http://localhost:8080/jsonrpc | The URL of the Kodi server | 58 + | KODI_USERNAME | No | | The username set | 59 + | KODI_PASSWORD | No | | The password set | 60 + | KODI_NAME | No | | A vanity name different than ID | 59 61 </Config>
+2
docsite/docs/configuration/sources/koito-source.mdx
··· 27 27 <Config config="KoitoSourceConfig" fileContent={KoitoConfig} name="koito"> 28 28 | Environmental Variable | Required? | Default | Description | 29 29 | :--------------------- | --------- | ------- | --------------------------------- | 30 + | `SOURCE_KOITO_ID` | Yes | | A unique ID | 30 31 | `SOURCE_KOITO_TOKEN` | Yes | | API Key from your Koito Account | 31 32 | `SOURCE_KOITO_USER` | Yes | | Your Koito username | 32 33 | `SOURCE_KOITO_URL` | No | | The base URL for the Koito server | 34 + | `SOURCE_KOITO_NAME` | No | | A vanity name differen than ID | 33 35 </Config>
+2
docsite/docs/configuration/sources/lastfm-endpoint.mdx
··· 41 41 <Config config="LastFMEndpointSourceConfig" fileContent={LastfmEndpointConfig} name="endpointlfm"> 42 42 | Environmental Variable | Required? | Default | Description | 43 43 | :--------------------- | :-------- | ------- | ------------------------------------------------------------------------------------------------------------------ | 44 + | `LFM_ID` | Yes | | A unique ID | 44 45 | `LFM_ENABLE` | No | | Use LFM Endpoint as a Source without any other configuration. Only required if slug/token are not provided as ENVs | 45 46 | `LFM_SLUG` | No | | (Optional) The URL suffix to use for accepting LFM scrobbles | 47 + | `LFM_NAME` | No | | A vanity name different than ID | 46 48 </Config>
+2
docsite/docs/configuration/sources/lastfm-source.mdx
··· 26 26 <Config config="LastfmSourceConfig" fileContent={LastfmConfig} name="lastfm"> 27 27 | Environmental Variable | Required? | Default | Description | 28 28 | ---------------------------- | --------- | --------------------------------------- | ----------------------------------------------------------------------------- | 29 + | `SOURCE_LASTFM_ID` | Yes | | A unique ID | 29 30 | `SOURCE_LASTFM_API_KEY` | Yes | | Api Key from your API Account | 30 31 | `SOURCE_LASTFM_SECRET` | Yes | | Shared secret from your API Account | 31 32 | `SOURCE_LASTFM_REDIRECT_URI` | No | `http://localhost:9078/lastfm/callback` | Url to use for authentication. Must include `lastfm/callback` somewhere in it | 32 33 | `SOURCE_LASTFM_SESSION` | No | | Session id. Will be generated by authentication flow if not provided. | 34 + | `SOURCE_LASTFM_NAME` | No | | A vanity name different than ID | 33 35 </Config>
+2
docsite/docs/configuration/sources/librefm-source.mdx
··· 25 25 <Config config="LibrefmSourceConfig" fileContent={JsonConfig} name="librefm"> 26 26 | Environmental Variable | Required? | Default | Description | 27 27 | ----------------------------- | --------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------ | 28 + | `SOURCE_LIBREFM_ID` | Yes | | A unique ID | 28 29 | `SOURCE_LIBREFM_ENABLE` | No | | Set to `true` to enable Libre.fm, if not using any of the below variables | 29 30 | `SOURCE_LIBREFM_API_KEY` | No | `anything` | Optional API Key | 30 31 | `SOURCE_LIBREFM_SECRET` | No | `anything` | Optional shared secret | 31 32 | `SOURCE_LIBREFM_REDIRECT_URI` | No | `http://localhost:9078/librefm/callback` | Url to use for authentication. Must include `librefm/callback` somewhere in it | 32 33 | `SOURCE_LIBREFM_SESSION` | No | | Session id. Will be generated by authentication flow if not provided. | 33 34 | `SOURCE_LIBREFM_URLBASE` | No | | Use for custom Libre.fm instance only. The host + path prefix EX `https://my.libre.example/2.0/` | 35 + | `SOURCE_LIBREFM_NAME` | No | | A vanity name different than ID | 34 36 </Config>
+2
docsite/docs/configuration/sources/listenbrainz-endpoint.mdx
··· 111 111 <Config config="ListenbrainzEndpointSourceConfig" fileContent={ListenbrainzEndpointConfig} name="endpointlz"> 112 112 | Environmental Variable | Required? | Default | Description | 113 113 | :--------------------- | :-------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | 114 + | `LZE_ID` | Yes | | A unique ID | 114 115 | `LZE_ENABLE` | No | | Use LZ Endpoint as a Source without any other configuration. Only required if slug/token are not provided as ENVs | 115 116 | `LZE_TOKEN` | No | | LZ "Authentication Token" you provided to the scrobbling application | 116 117 | `LZE_SLUG` | No | | (Optional) The URL suffix to use for accepting LZ scrobbles | 117 118 | `LZE_USERNAME` | No | | (Optional) A fake username that will be returned for token validation and on now-playing responses. If none is provided the Source's name is used instead. | 119 + | `LZE_NAME` | No | | A vanity name different than ID | 118 120 </Config>
+2
docsite/docs/configuration/sources/listenbrainz-source.mdx
··· 28 28 <Config config="ListenBrainzSourceConfig" fileContent={ListenbrainzConfig} name="listenbrainz"> 29 29 | Environmental Variable | Required? | Default | Description | 30 30 | ---------------------- | --------- | ----------------------------- | ------------------------------- | 31 + | `SOURCE_LZ_ID` | Yes | | A unique ID | 31 32 | `SOURCE_LZ_TOKEN` | Yes | | User token from your LZ profile | 32 33 | `SOURCE_LZ_USER` | Yes | | Your LZ username | 33 34 | `SOURCE_LZ_URL` | No | https://api.listenbrainz.org/ | The base URL for the LZ server | 35 + | `SOURCE_LZ_NAME` | No | | A vanity name different than ID |d 34 36 </Config>
+6 -4
docsite/docs/configuration/sources/maloja.mdx
··· 22 22 ## Configuration 23 23 24 24 <Config config="MalojaSourceConfig" fileContent={MalojaConfig} name="maloja"> 25 - | Environmental Variable | Required? | Default | Description | 26 - | ----------------------- | --------- | ------- | ----------------------------- | 27 - | `SOURCE_MALOJA_URL` | Yes | | Base URL of your installation | 28 - | `SOURCE_MALOJA_API_KEY` | Yes | | Api Key | 25 + | Environmental Variable | Required? | Default | Description | 26 + | ----------------------- | --------- | ------- | ------------------------------- | 27 + | `SOURCE_MALOJA_ID` | Yes | | A unique ID | 28 + | `SOURCE_MALOJA_URL` | Yes | | Base URL of your installation | 29 + | `SOURCE_MALOJA_API_KEY` | Yes | | Api Key | 30 + | `SOURCE_MALOJA_NAME` | Yes | | A vanity name different than ID | 29 31 </Config>
+6 -4
docsite/docs/configuration/sources/mpd.mdx
··· 23 23 ## Configuration 24 24 25 25 <Config config="MPDSourceConfig" fileContent={MPDConfig} name="mpd"> 26 - | Environmental Variable | Required? | Default | Description | 27 - |------------------------|-----------|------------------|-------------| 28 - | `MPD_URL` | No | `localhost:6600` | | 29 - | `MPD_PASSWORD` | No | | | 26 + | Environmental Variable | Required? | Default | Description | 27 + | ---------------------- | --------- | ---------------- | ------------------------------- | 28 + | `MPD_ID` | Yes | | A unique ID | 29 + | `MPD_URL` | No | `localhost:6600` | | 30 + | `MPD_PASSWORD` | No | | | 31 + | `MPD_NAME` | No | | A vanity name different than ID | 30 32 </Config>
+3 -1
docsite/docs/configuration/sources/mpris.mdx
··· 72 72 73 73 <Config config="MPRISSourceConfig" fileContent={MPRISConfig} name="mpris"> 74 74 | Environmental Variable | Required? | Default | Description | 75 - |------------------------|-----------|---------|----------------------------------------------------------------------------------| 75 + | ---------------------- | --------- | ------- | -------------------------------------------------------------------------------- | 76 + | MPRIS_ID | Yes | | A unique ID | 76 77 | MPRIS_ENABLE | No | | Use MPRIS as a Source (useful when you don't need any other options) | 77 78 | MPRIS_BLACKLIST | No | | Comma-delimited list of player names not to scrobble from | 78 79 | MPRIS_WHITELIST | No | | Comma-delimited list of players names to ONLY scrobble from. Overrides blacklist | 80 + | MPRIS_NAME | No | | A vanity name different than ID | 79 81 </Config>
+3 -1
docsite/docs/configuration/sources/musikcube.mdx
··· 32 32 33 33 <Config config="MusikcubeSourceConfig" fileContent={MusikcubeConfig} name="musikcube"> 34 34 | Environmental Variable | Required? | Default | Description | 35 - |------------------------|-----------|-----------------------|--------------------------------------| 35 + | ---------------------- | --------- | --------------------- | ------------------------------------ | 36 + | `MC_ID` | Yes | | A unique ID | 36 37 | `MC_URL` | No | `ws://localhost:7905` | Use port set for **metadata server** | 37 38 | `MC_PASSWORD` | Yes | | | 39 + | `MC_NAME` | No | | A vanity name different than ID | 38 40 </Config>
+2
docsite/docs/configuration/sources/plex.mdx
··· 196 196 <Config config="PlexApiSourceConfig" fileContent={PlexConfig} name="plex"> 197 197 | Environmental Variable | Required? | Default | Description | 198 198 | ---------------------- | --------- | ------- | ---------------------------------------------------------------------- | 199 + | `PLEX_ID` | **Yes** | | A unique ID | 199 200 | `PLEX_URL` | **Yes** | | The URL of the Plex server IE `http://localhost:32400` | 200 201 | `PLEX_TOKEN` | **Yes** | | The **Plex Token** to use with the API | 201 202 | `PLEX_USERS_ALLOW` | No | | Comma-separated list of usernames (from Plex) to scrobble for | ··· 204 205 | `PLEX_DEVICES_BLOCK` | No | | Comma-separated list of devices to disallow scrobbles from | 205 206 | `PLEX_LIBRARIES_ALLOW` | No | | Comma-separated list of libraries to allow scrobbles from | 206 207 | `PLEX_LIBRARIES_BLOCK` | No | | Comma-separated list of libraries to disallow scrobbles from | 208 + | `PLEX_NAME` | No | | A vanity name different than ID | 207 209 </Config>
+2
docsite/docs/configuration/sources/rocksky-source.mdx
··· 35 35 <Config config="RockskySourceConfig" fileContent={JsonConfig} name="rocksky"> 36 36 | Environmental Variable | Required? | Default | Description | 37 37 | :---------------------- | --------- | ------- | ----------------------------------------------------------------------------------- | 38 + | `SOURCE_ROCKSKY_ID` | Yes | | A unique ID | 38 39 | `SOURCE_ROCKSKY_HANDLE` | Yes | | Your **full** ATProto handle. For Bluesky account this is like `myUser.bsky.social` | 39 40 | `SOURCE_ROCKSKY_KEY` | Yes | | API Key obtained from Rocksky developer dashboard | 41 + | `SOURCE_ROCKSKY_NAME` | No | | A vanity name different than ID | 40 42 </Config>
+2
docsite/docs/configuration/sources/sonos.mdx
··· 92 92 <Config config="SonosSourceConfig" fileContent={JsonConfig} name="sonos"> 93 93 | Environmental Variable | Required? | Default | Description | 94 94 | ---------------------- | --------- | ------- | :--------------------------------------------------------------------- | 95 + | `SONOS_ID` | Yes | | A unique ID | 95 96 | `SONOS_HOST` | Yes | | The IP address of any active Sonos device/accessory EX `192.168.0.150` | 96 97 | `SONOS_DEVICES_ALLOW` | No | | Comma-separated list of Sonos device names to scrobble from | 97 98 | `SONOS_DEVICES_BLOCK` | No | | Comma-separated list of Sonos device names to disallow scrobbles from | 98 99 | `SONOS_GROUPS_ALLOW` | No | | Comma-separated list of device group names to scrobble from | 99 100 | `SONOS_GROUPS_BLOCK` | No | | Comma-separated list of devices group names to disallow scrobbles from | 101 + | `SONOS_NAME` | No | | A vanity name different than ID | 100 102 </Config>
+7 -5
docsite/docs/configuration/sources/spotify.mdx
··· 111 111 ## Configuration 112 112 113 113 <Config config="SpotifySourceConfig" fileContent={SpotifyConfig} name="spotify"> 114 - | Environmental Variable | Required? | Default | Description | 115 - | ----------------------- | --------- | -------------------------------- | -------------------------- | 116 - | `SPOTIFY_CLIENT_ID` | Yes | | | 117 - | `SPOTIFY_CLIENT_SECRET` | Yes | | | 118 - | `SPOTIFY_REDIRECT_URI` | No | `http://localhost:9078/callback` | URI must end in `callback` | 114 + | Environmental Variable | Required? | Default | Description | 115 + | ----------------------- | --------- | -------------------------------- | ------------------------------- | 116 + | `SPOTIFY_ID` | Yes | | A unique ID | 117 + | `SPOTIFY_CLIENT_ID` | Yes | | | 118 + | `SPOTIFY_CLIENT_SECRET` | Yes | | | 119 + | `SPOTIFY_REDIRECT_URI` | No | `http://localhost:9078/callback` | URI must end in `callback` | 120 + | `SPOTIFY_NAME` | No | | A vantiy name different than ID | 119 121 </Config>
+3 -1
docsite/docs/configuration/sources/subsonic.mdx
··· 32 32 33 33 <Config config="SubSonicSourceConfig" fileContent={SubsonicConfig} name="subsonic"> 34 34 | Environmental Variable | Required? | Default | Description | 35 - |------------------------|-----------|---------|--------------------------------------| 35 + | ---------------------- | --------- | ------- | ------------------------------------ | 36 + | `SUBSONIC_ID` | Yes | | A unique ID | 36 37 | `SUBSONIC_USER` | Yes | | | 37 38 | `SUBSONIC_PASSWORD` | Yes | | | 38 39 | `SUBSONIC_URL` | Yes | | Base url of your subsonic-api server | 40 + | `SUBSONIC_NAME` | No | | A vanity name different than ID | 39 41 </Config>
+2
docsite/docs/configuration/sources/tealfm-source.mdx
··· 106 106 <Config config="TealClientConfig" fileContent={JsonConfig} name="tealfm"> 107 107 | Environmental Variable | Required? | Default | Description | 108 108 | :------------------------- | --------- | ------- | ------------------------------------------------------------------------------------------ | 109 + | `SOURCE_TEALFM_ID` | Yes | | A unique ID | 109 110 | `SOURCE_TEALFM_IDENTIFIER` | Yes | | Your **full** ATProto handle or DID. For Bluesky account this is like `myUser.bsky.social` | 110 111 | `SOURCE_TEALFM_APP_PW` | Yes | | Bluesky/ATProto network App Password | 112 + | `SORUCE_TEALFM_NAME` | No | | A vanity name different than ID | 111 113 </Config>
+6 -4
docsite/docs/configuration/sources/vlc.mdx
··· 99 99 ## Configuration 100 100 101 101 <Config config="VLCSourceConfig" fileContent={JsonConfig} name="vlc"> 102 - | Environmental Variable | Required? | Default | Description | 103 - |------------------------|------------|------------------|-------------| 104 - | `VLC_URL` | No | `localhost:8080` | | 105 - | `VLC_PASSWORD` | Yes | | | 102 + | Environmental Variable | Required? | Default | Description | 103 + | ---------------------- | --------- | ---------------- | ------------------------------- | 104 + | `VLC_ID` | Yes | | A unique ID | 105 + | `VLC_URL` | No | `localhost:8080` | | 106 + | `VLC_PASSWORD` | Yes | | | 107 + | `VLC_NAME` | No | | A vanity name different than ID | 106 108 </Config>
+3 -1
docsite/docs/configuration/sources/webscrobbler.mdx
··· 88 88 89 89 <Config config="WebScrobblerSourceConfig" fileContent={JsonConfig} name="webscrobbler"> 90 90 | Environmental Variable | Required? | Default | Description | 91 - |------------------------|-----------|---------|--------------------------------------------------------------------------| 91 + | ---------------------- | --------- | ------- | ------------------------------------------------------------------------ | 92 + | WS_ID | Yes | | A unique ID | 92 93 | WS_ENABLE | No | | Set to 'true' to enable WS without needing to define other ENVs | 93 94 | WS_WHITELIST | No | | Only scrobble from these WebScrobbler Connectors. Comma-delimited list | 94 95 | WS_BLACKLIST | No | | Do not scrobble from these WebScrobbler Connectors. Comma-delimited list | 96 + | WS_NAME | No | | A vanity name different than ID | 95 97 </Config>
+5 -3
docsite/docs/configuration/sources/yamaha-musiccast.mdx
··· 31 31 ## Configuration 32 32 33 33 <Config config="MusicCastSourceConfig" fileContent={JsonConfig} name="musiccast"> 34 - | Environmental Variable | Required? | Default | Description | 35 - | :--------------------- | :-------- | ------- | :----------------------- | 36 - | `MCAST_URL` | Yes | | The Musiccast device URL | 34 + | Environmental Variable | Required? | Default | Description | 35 + | :--------------------- | :-------- | ------- | :------------------------------ | 36 + | `MCAST_ID` | Yes | | A unique ID | 37 + | `MCAST_URL` | Yes | | The Musiccast device URL | 38 + | `MCAST_NAME` | No | | A vanity name different than ID | 37 39 </Config>
+2
docsite/docs/configuration/sources/yandex-music.mdx
··· 74 74 <Config config="YandexMusicBridgeSourceConfig" fileContent={JsonConfig} name="ymbridge"> 75 75 | Environmental Variable | Required? | Default | Description | 76 76 | :--------------------- | :-------- | ------- | :------------------------------------------------------------------------ | 77 + | `YMBRIDGE_ID` | Yes | | A unique ID | 77 78 | `YMBRIDGE_URL` | Yes | | `http://URL:PORT` for the `yandex-music-bridge` container | 78 79 | `YMBRIDGE_API_KEY` | No | | The same key used for `YM_API_KEY` on the `yandex-music-bridge` container | 80 + | `YMBRIDGE_NAME` | No | | A vanity name different than ID | 79 81 </Config>
+4 -2
docsite/docs/configuration/sources/youtube-music.mdx
··· 179 179 ## Configuration 180 180 181 181 <Config config="YTMusicSourceConfig" fileContent={JsonConfig} name="ytmusic"> 182 - | Environmental Variable | Required? | Default | Description | 183 - |------------------------|-----------|---------|-----------------------------------------------| 182 + | Environmental Variable | Required? | Default | Description | 183 + | ---------------------- | --------- | ------- | --------------------------------------------- | 184 + | YTM_ID | Yes | | A unique ID | 184 185 | YTM_COOKIE | No | | Value for Cookie Authentication | 185 186 | YTM_CLIENT_ID | No | | Client ID for OAuth Athentication | 186 187 | YTM_CLIENT_SECRET | No | | Client Secret for OAuth Athentication | 187 188 | YTM_REDIRECT_URI | No | | A custom redirect URI for OAuth Athentication | 188 189 | YTM_LOG_DIFF | No | false | Log YTM history changes | 190 + | YTM_NAME | No | | A vanity name different than ID | 189 191 </Config>