MPRIS
MPRIS is a standard interface for communicating with Music Players on linux operating systems.
If you run Linux and have a notification tray that shows what media you are listening to, you likely have access to MPRIS.

multi-scrobbler can listen to this interface and scrobble tracks played by any media player that communicates to the operating system with MPRIS.
Host Setup
MPRIS communication requires multi-scrobbler to have access to the host's dbus-daemon.
- Local
- Docker
If multi-scrobbler is running as a Local Installation, directly with node/npm, on the same host as MPRIS then no setup is required.
Remote setup is also possible, see the Remote Unix Socket section in the Docker tab.
If multi-scrobbler is running as a Docker Container some modifications are required...
Local Unix Socket
The most secure way is to run a multi-scrobbler container on the same host as MPRIS. In this scenario you can simply mount the user session dbus unix socket into the container. Make sure PUID and PGID ENVs are configured so the container has permissions to access the socket. Then, modify your compose stack with these additional values:
environment:
- DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/UID/bus
volumes:
- /run/user/UID/bus:/run/user/UID/bus:ro
Remote Unix Socket
This method is insecure. You should not expose dbus over a network unless access to the port is restricted and the network is trusted.
Use socat to bidirectionally relay communication from the host's dbus socket to a listening TCP port.
To make dbus for user with uid 1000 available on port 6644:
socat TCP-LISTEN:6644,reuseaddr,fork UNIX-CONNECT:/run/user/1000/bus
Then, add the following value to multi-scrobbler's ENVs:
DBUS_SESSION_BUS_ADDRESS=tcp:host=yourHostIP,port=6644
Configuration
- ENV
- File
- AIO
| Environmental Variable | Required? | Default | Description |
|---|---|---|---|
| MPRIS_ENABLE | No | Use MPRIS as a Source (useful when you don't need any other options) | |
| MPRIS_BLACKLIST | No | Comma-delimited list of player names not to scrobble from | |
| MPRIS_WHITELIST | No | Comma-delimited list of players names to ONLY scrobble from. Overrides blacklist |
[
{
"name": "ubuntu",
"enable": true,
"data": {
"whitelist": [
"vlc",
"mpd"
],
"blacklist": [
"spotify"
]
}
}
]
or explore the schema with an example and live editor/validator
{
"sources": [
{
"name": "ubuntu",
"enable": true,
"data": {
"whitelist": [
"vlc",
"mpd"
],
"blacklist": [
"spotify"
]
},
"type": "mpris"
}
]
}
or explore the schema with an example and live editor/validator