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 create a Spotify App to get a Client ID/Secret and set a valid Redirect URI.
Refer to the Spotify Authentication instructions in the docs.
Assuming you used the HTTPS method for your Redirect URI from the instructions above...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
- SPOTIFY_REDIRECT_URI=https://multi-scrobbler.mydomain.com/callback
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
- Koito
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
Setup a Koito server if you have not already done this.
- Create (or get) an API Key
- From your Koito server dashboard navigate to Settings (bottom-left icon) => API Keys
- Create a new Key (or use an existing) and Copy the key using the copy icon to the right of the key
- EX
pM195xPV98CDpk0QW47FIIOR8AKATAX5DblBF-Jq0t1MbbKL
- EX
- Take note of your Koito username (used below as
myUser
) - Determine your Koito URL
- This is the URL you use to access your Koito dashboard OR whatever URL is accessible from your multi-scrobbler instance.
- EX dashboard at
http://192.168.0.100:4110
=> replacemyURL
below withhttp://192.168.0.100:4110
- More info on the URL to use is the full docs
Add/Substitute values above into these examples values and add them to the environment
section in the docker-compose.yml
you created for multi-scrobbler earlier.
- KOTIO_TOKEN=myToken
- KOTIO_USER=myUser
- KOITO_URL=myURL
Ensure that Koito is configured to allow requests from multi-scrobbler! In Koito config set KOITO_ALLOWED_HOSTS
to the IP the multi-scrobbler dashboard is accessible from.
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