Something went wrong. Try again.
[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
Something went wrong. Try again.
6.1 kB · 196 lines
MDX
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196---title: Plextoc_min_heading_level: 2toc_max_heading_level: 5---
import Tabs from '@theme/Tabs';import TabItem from '@theme/TabItem';import CodeBlock from '@theme/CodeBlock';import AzuracastConfig from '!!raw-loader!@site/../config/azuracast.json.example';import PlexConfig from '!!raw-loader!@site/../config/plex.json.example';import ENVConfig from "@site/docs/configuration/sources/_env_configs/_plex.md"
Find your [**Plex Token**](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/) and make note of the **URL** and **Port** used to connect to your Plex instance.
<details>
<summary>Allowed Users and Defaults</summary>
**Multi-scrobbler will automatically scrobble for these users by default:**
* The User authenticated with the Plex Token* and the **Local User**
The Local User (`PLEX_LOCAL_USER`) is how Plex identifies anyone directly accessing the Plex UI from a local IP (who does not need to login).
To allow MS to scrobble for other users use `usersAllow` or `PLEX_USERS_ALLOW` (env) from the below configuration docs. However, because you are overriding the default settings you must also explicitly list the authenticated user and the Local User if you want them to also be able to scrobble.
<details>
<summary>Examples</summary>
###### Defaults
If `usersallow` and `PLEX_USERS_ALLOW` are not defined then the Plex Token authenticated User and Local User will be scrobbled for.
###### Only A Specific User
* `"usersallow": ["SomeUser"]` or* `PLEX_USERS_ALLOW: SomeUser`
Only the Plex user `SomeUser` will be scrobbled for. The Plex Token authenticated user and the Local User will not be scrobbled for.
###### A Specific User + Defaults
(Assuming the plex authenticated user is `FoxxMD`)
* `"usersallow": ["FoxxMD", "PLEX_LOCAL_USER", "SomeUser"]` or* `PLEX_USERS_ALLOW: FoxxMD,PLEX_LOCAL_USER,SomeUser`
The Plex user SomeUser, the Plex Token authenticated user (FoxxMD) and the Local User will be scrobbled for.
</details>
</details>
<details>
<summary>Allowed Libraries and Defaults</summary>
By default multi-scrobbler will only scrobble media found in Plex libraries that are labelled as **Music.** * `librariesAllow` or `PLEX_LIBRARIES_ALLOW` will override this
</details>
<DetailsAdmo type="tip" summary="Use Plex metadata with Musicbrainz for better scrobbling">
<h3>Matching With Plex</h3>
In Plex, if the **Plex Music** Agent is set on a Music Library then Plex attempts to match your music with Musicbrainz when it is first imported.
<img src={require('/img/plex_music_agent.jpg').default} height="400"/>
Plex uses ID3/metdata tags to match or falls back to matching based on file name and folder names. If it cannot find a match it can be fixed through a **Fix Match** option in the album/track context menu. See [plex documentation for more information](https://support.plex.tv/articles/correcting-your-music-content-matches/).
You can verify if an Item has been matched by:
* Clicking on the Item context menu (...)* Get Info* View XML
If a node like this is present then it has been matched: `<Guid id="mbid://4e631558-13b0..."/>`
<h3>Using Musicbrainz With Multi-Scrobbler</h3>
The MBID from the above `<Guid>` node is a [Track](https://musicbrainz.org/doc/Track), a special type of ID that specifically identifies a song on a specific album. If this is present then Multi-scrobbler can use it to gaurantee your scrobble, and all its metadata, is matched 1:1 with what is in your Plex library when using the [Musicbrainz Stage](/configuration/transforms/musicbrainz) to enrich your scrobble.
To configure MS to use Musicbrainz with your Plex metadata use one of the methods below:
<Tabs groupId="configType" queryString> <TabItem value="env" label="ENV"> Add to your multi-scrobbler docker compose file `environment` section for [Musicbrainz ENV Configuration](/configuration/transforms/musicbrainz#env-configuration): ```yaml - MB_PRESETS=id,default - PLEX_TRANSFORMS=musicbrainz ``` </TabItem>
<TabItem value="file" label="File"> Your [AIO Config](/configuration?configType=aio#configuration-types):
```json5 title="config.json" { // ... "transformers": [ { "type": "musicbrainz", "name": "MyMB", "data": { "apis": [ { "enable": true } ] } } ] } ```
In your [File Config](/configuration?configType=file#configuration-types):
```json5 title="plex.json" [ { "name": "MyPlex", "data": { /* ... */}, "options": { "playTransform": { "preCompare": [ { "type": "musicbrainz", "name": "MyMB" "searchOrder": ["mbidrecording", "basicOrIds", "basic"] } ] } } } ] ``` </TabItem> <TabItem value="aio" label="File AIO"> Your [AIO Config](/configuration?configType=aio#configuration-types):
```json5 title="config.json" { // ... "transformers": [ { "type": "musicbrainz", "name": "MyMB", "data": { "apis": [ { // a real email that Musicbrainz can use to contact you in case of issues "enable": true } ] } } ] // ... "sources": [ // ... { "name": "MyPlex", "type": "plex", "data": { /* ... */}, "options": { "playTransform": { "preCompare": [ { "type": "musicbrainz", "name": "MyMB", "searchOrder": ["mbidrecording", "basicOrIds", "basic"] } ] } } } ] } ``` </TabItem> </Tabs></DetailsAdmo>
#### Configuration
<Config config="PlexApiSourceConfig" fileContent={PlexConfig} name="plex"><ENVConfig/></Config>