Listenbrainz (Endpoint)
This Source enables multi-scrobbler to accept scrobbles from outside applications as if it was a Listenbrainz server.
- To scrobble to Listenbrainz, create a Listenbrainz (Client)
- To monitor and re-scrobble activity from your Listenbrainz account, create a Listenbrainz (Source)
URL
If a slug is not provided in configuration then multi-scrobbler will accept Listenbrainz scrobbles at
http://myMultiScrobblerIP:9078/1/submit-listens
which is the "standard" Listenbrainz server path for scrobbling.
In general, you should use http://myMultiScrobblerIP:9078/1/ as the base path when configuring your application to scrobble to multi-scrobbler.
URL Setup for Popular Apps
Navidrome
Set the ListenBrainz.BaseURL (env ND_LISTENBRAINZ_BASEURL) to http://myMultiScrobblerIP:9078/1/
Use a slug only if you need to setup multiple Listenbrainz Endpoint sources and cannot use different tokens.
If a slug is used then the URL will be:
http://myMultiScrobblerIP:9078/api/listenbrainz/mySlug
Some Listenbrainz applications may require custom Listenbrainz URLs to be a real domain (example.com) and/or use SSL (https://). In this case you should setup multi-scrobbler behind a reverse proxy to support this functionality. It is out of the scope of this project to do this solely within multi-scrobbler.
Token
Most Listenbrainz clients require a token (Authentication Token) to be provided during setup. This value can be anything you want, just make sure to use the same value for token in your multi-scrobbler configuration for the endpoint.
Configuration
- ENV
- File
- AIO
This is configuration for the ENV Config Type.
| Environmental Variable | Required? | Default | Description |
|---|---|---|---|
LZENDPOINT_ENABLE | No | Use LZ Endpoint as a Source without any other configuration. Only required if slug/token are not provided as ENVs | |
LZE_TOKEN | No | LZ "Authentication Token" you provided to the scrobbling application | |
LZE_SLUG | No | (Optional) The URL suffix to use for accepting LZ scrobbles |
Config Structure
This displays the structure of the File Configuration for a endpointlz type Source with all possible properties, their shape, and descriptions/types. Use this to understand how to write a valid config.
Config Example
This displays an example config file of a endpointlz Source File Configuration that adheres to the shown Config Structure.
- text mode lets you edit the JSON directly.
- tree mode gives you a guided point-and-click editing experience that always keeps the JSON syntax valid.
Both modes validate that the configuraion is correct. Any errors show up as squiggly lines.
After you finish editing, switch to text and then copy all text to get a completed config.
Config Example Mobile Experience
This displays an example config file of a endpointlz Source File Configuration that adheres to the shown Config Structure.
The example config file editor is meant for a larger screen experience so only the read-only example is shown. Please use this site on a tablet/laptop/desktop to enable file editor features.
[
{
"name": "myLz",
"enable": true,
"data": {
"token": "myToken"
}
}
]
Config Structure
This displays the structure of the all-in-one (config.json) configuration with all possible properties, their shape, and descriptions/types. Use this to understand how to write a valid config.
Select the endpointlz type from the respective sources node below, then expand it.
Config Example
This displays an example config file of a all-in-one (config.json) configuration that includes a endpointlz Source that adheres to the shown Config Structure.
- text mode lets you edit the JSON directly.
- tree mode gives you a guided point-and-click editing experience that always keeps the JSON syntax valid.
Both modes validate that the configuraion is correct. Any errors show up as squiggly lines.
After you finish editing, switch to text and then copy all text to get a completed config.
Config Example Mobile Experience
This displays an example config file of a all-in-one (config.json) configuration that includes a endpointlz Source that adheres to the shown Config Structure.
The example config file editor is meant for a larger screen experience so only the read-only example is shown. Please use this site on a tablet/laptop/desktop to enable file editor features.
{
"sources": [
{
"name": "myLz",
"enable": true,
"data": {
"token": "myToken"
},
"type": "endpointlz"
}
]
}