A simple SubSonic Scrobbler for MPD
882
WARNING this is the old and wrongly named docker hub repository. Please switch to this. This will not be maintained and will be removed shortly.
This is a very simple Subsonic scrobbler for MPD.
It is not a LAST.FM or libre.fm scrobbler.
This scrobbler allows mpd to notify a subsonic server when it has played a song which has been server from that subsonic server.
It might be useful when using the Subsonic plugin for Upmpdcli. See the discussion here.
| PROJECT | HOMEPAGE | Git Repo(s) |
|---|---|---|
| Music Player Daemon | Music Player Daemon | On GitHub |
| Upmpdcli | Upmpdcli | Upstream on Framagit and Codeberg. My fork on Framagit and Codeberg |
| mpd-alsa-docker | - | GitHub |
| upmpdcli-docker | - | GitHub |
The last two provide a simple way to deploy mpd and upmpdcli using docker.
| Repo | URL |
|---|---|
| Source code | GitHub |
| Docker images | Docker Hub |
| VOLUME | DESCRIPTION |
|---|---|
| /config | Suggested location for additional configuration files |
| VARIABLE | DESCRIPTION | DEFAULT |
|---|---|---|
| MPD_HOST | MPD hostname | localhost |
| MPD_PORT | MPD port | 6600 |
| SUBSONIC_PARAMETERS_FILE | Separate config file for subsonic parameters | |
| SUBSONIC_BASE_URL | Subsonic Server URL, including http or https | |
| SUBSONIC_PORT | Subsonic Server Port | |
| SUBSONIC_USER | Subsonic Username | |
| SUBSONIC_PASSWORD | Subsonic password | |
| VERBOSE | Verbose output, valid values are 1 and 0 | 0 |
| MIN_COVERAGE | Percent of the song that needs to be played | 50 |
| SLEEP_TIME | Interval between a coverage check and the next, in millisec | 1000 |
The subsonic configuration parameters are required: either specificy the individual variables, or specify a SUBSONIC_PARAMETERS to indicate the file which will contain the parameters. The file must be accessible to the container. You can use the /config volume and put a file named, e.g. ".subsonic.env" there.
The following connect to mpd-d10 which is an instance of mpd-alsa-docker running on the same host and specifically on the network mpd.
Subsonic config is read from a separate file.
---
version: "3"
networks:
mpd:
external: true
services:
scrobbler:
image: giof71/subsonic-mpd-scrobbler:latest
container_name: subsonic-scrobbler-d10
networks:
- mpd
environment:
- PYTHONUNBUFFERED=1
- MPD_HOST=mpd-d10
- MPD_PORT=6600
- SUBSONIC_PARAMETERS_FILE=/config/subsonic.env
- VERBOSE=0
volumes:
- ./navidrome.env:/config/subsonic.env:ro
restart: unless-stopped
Same situation, without the separate file:
---
version: "3"
networks:
mpd:
external: true
services:
scrobbler:
image: giof71/subsonic-mpd-scrobbler:latest
container_name: subsonic-scrobbler-d10
networks:
- mpd
environment:
- PYTHONUNBUFFERED=1
- MPD_HOST=mpd-d10
- MPD_PORT=6600
- _SUBSONIC_BASE_URL=${SUBSONIC_BASE_URL}
- _SUBSONIC_PORT=${SUBSONIC_PORT}
- _SUBSONIC_USER=${SUBSONIC_USER}
- _SUBSONIC_PASSWORD=${SUBSONIC_PASSWORD}
- VERBOSE=0
restart: unless-stopped
In this case, the configuration parameters are read from the .env file.
In order to avoid issues with password, which might contain special characters, it is better to not place such password on the compose file, and leverage the .env file instead.
Content type
Image
Digest
sha256:6fa808f00…
Size
340.9 MB
Last updated
over 3 years ago
docker pull giof71/subsonic-mpd-scrobbler