Quickstart
This guide will get you up and running with multi-scrobbler using Docker and docker compose
. At the end of the guide you will have:
- the dashboard served on port
9078
of a host machine which has an IP of192.168.0.100
- data saved to the same directory as the
docker-compose.yml
file - multi-scrobbler monitoring Spotify and/or Jellyfin for listening activity
- multi-scrobbler scrobbling to Lastfm and/or Maloja
If the multi-scrobbler container is on the same machine you will be viewing the dashboard from (IE localhost
) you can remove and ignore BASE_URL
usage below. Additionally, replace usage of 192.168.0.100
with localhost
.
Create Docker Compose File
Create a new folder for multi-scrobbler related data and then create docker-compose.yml
with this content:
services:
multi-scrobbler:
image: foxxmd/multi-scrobbler
container_name: multi-scrobbler
environment:
- TZ=Etc/GMT # Specify timezone from TZ Database name found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- BASE_URL=http://192.168.0.100:9078
# all Environmental Variables in below examples go here!
volumes:
- "./config:/config"
ports:
- "9078:9078"
restart: unless-stopped
Setup Sources
Sources are the services multi-scrobbler monitors to look for listening activity.
- Jellyfin
- Spotify
Follow the Jellyfin configuration instructions for setting up an API Key.
Then, add these values to the environment
section in the docker-compose.yml
you created.
- JELLYFIN_URL=192.168.0.110:8096 # URL to Jellyfin UI
- JELLYFIN_APIKEY=c9fae8756fbf481ebd9c5bb56b # Api Key created in previous step
- JELLYFIN_USER=MyUser # Your username in Jellyfin
To access your Spotify activity you must register a Spotify application to get a Client ID/Secret.
When creating the application add this to Redirect URIs
http://192.168.0.100:9078/callback
After the application is created add these values to the environment
section in the docker-compose.yml
you created.
- SPOTIFY_CLIENT_ID=yourClientId
- SPOTIFY_CLIENT_SECRET=yourClientSecret
Later, after starting multi-scrobbler, visit the dashboard at http://192.168.0.100:9078
and click (Re)authenticate on the Spotify card to authorize multi-scrobbler to use your account. Monitoring will begin automatically after authorization is complete.
Setup Clients
Clients are services that store scrobbles. Multi-scrobbler will scrobble all listening activity from the Sources you configured to all Clients you configure here.
- Maloja
- Last.fm
Setup a Maloja server if you have not already done this.
Maloja Setup Intructions
Using Maloja's example docker-compose.yml
:
loading...
Uncomment environment
and add MALOJA_FORCE_PASSWORD=CHANGE_ME
to set an admin password
Start the container:
docker compose up -d
- Navigate to the Admin Panel (Cog in upper-right corner) -> API Keys (or at http://192.168.0.100:42010/admin_apikeys)
- Create a New Key and then copy the generated key value
Finally, add these values to the environment
section in the docker-compose.yml
you created for multi-scrobbler earlier.
- MALOJA_URL=http://192.168.0.100:42010
- MALOJA_API_KEY=myApiKey
Register for an API account at Last.fm.
Use the following for Callback URL:
http://192.168.0.100:9078/lastfm/callback
After account creation use the displayed information and add these values to the environment
section in the docker-compose.yml
you created for multi-scrobbler earlier.
- LASTFM_API_KEY=myApiKey
- LASTFM_SECRET=myApiSecret
Start Multi-Scrobbler
If you are running your multi-scrobbler container on a Linux host see these instructions for setting proper file permissions.
From the same directory as the docker-compose.yml
you created earlier start the container:
docker compose up -d
You're done! Multi-scrobbler is now running. It will monitor the sources you configured and scrobble to clients you set up.
Visit http://192.168.0.100:9078
to see the dashboard where
- configured Sources/Clients
- show current status and authentication options
- display statistics about discovered/scrobbled tracks and Now Playing status
- a real-time log shows multi-scrobbler's activity
Next Steps
- See more advanced docker options as well as other install methods in the Installation docs
- Review the Configuration docs
- Learn about how to configure multi-scrobbler using files for more complicated Source/Client scenarios
- See all available Sources/Clients alongside configuration examples
- Learn how to set up notification webhooks
- Check out the kitchensink example
- Consult the FAQ for solutions to common problems