mirror of
https://github.com/FoxxMD/multi-scrobbler.git
synced 2026-04-29 04:10:00 +00:00
165 lines
6.7 KiB
Text
165 lines
6.7 KiB
Text
---
|
|
title: 'Quickstart'
|
|
sidebar_position: 1
|
|
---
|
|
|
|
import Tabs from '@theme/Tabs';
|
|
import TabItem from '@theme/TabItem';
|
|
|
|
This guide will get you up and running with multi-scrobbler using [Docker](https://www.docker.com/) and [`docker compose`](https://docs.docker.com/compose/). At the end of the guide you will have:
|
|
|
|
* the dashboard served on port `9078` of a host machine which has an IP of `192.168.0.100`
|
|
* data saved to the same directory as the `docker-compose.yml` file
|
|
* multi-scrobbler monitoring [Spotify](./configuration/configuration.mdx#spotify) and/or [Jellyfin](./configuration/configuration.mdx#jellyfin) for listening activity
|
|
* multi-scrobbler scrobbling to [Lastfm](./configuration/configuration.mdx#lastfm) and/or [Maloja](./configuration/configuration.mdx#maloja)
|
|
|
|
:::note
|
|
|
|
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:
|
|
|
|
```yaml title="~/msData/docker-compose.yml"
|
|
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.
|
|
|
|
<Tabs>
|
|
<TabItem value="jellyfin" label="Jellyfin">
|
|
Follow the Jellyfin configuration [instructions for setting up a **webhook**.](./configuration/configuration.mdx#jellyfin)
|
|
|
|
After webhook is setup add **at least one** of these values to the `environment` section in the [`docker-compose.yml` you created.](#create-docker-compose-file)
|
|
|
|
```yaml title="~/msData/docker-compose.yml"
|
|
- JELLYFIN_USER=myUserName # comma-separated list of users to monitor
|
|
- JELLYFIN_SERVER=myServerName # comma-separated list of servers that should be monitored
|
|
```
|
|
</TabItem>
|
|
<TabItem value="spotify" label="Spotify">
|
|
To access your Spotify activity you must [register a Spotify application](https://developer.spotify.com/dashboard) 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.](#create-docker-compose-file)
|
|
|
|
```yaml title="~/msData/docker-compose.yml"
|
|
- SPOTIFY_CLIENT_ID=yourClientId
|
|
- SPOTIFY_CLIENT_SECRET=yourClientSecret
|
|
```
|
|
|
|
Later, after [starting multi-scrobbler](#start-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.
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
## 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.
|
|
|
|
<Tabs>
|
|
<TabItem value="maloja" label="Maloja">
|
|
Setup a [Maloja server](https://github.com/krateng/maloja?tab=readme-ov-file#how-to-install) if you have not already done this.
|
|
|
|
<details>
|
|
|
|
<summary>Maloja Setup Intructions</summary>
|
|
|
|
Using Maloja's example `docker-compose.yml`:
|
|
|
|
```yaml reference title="~/malojaData/docker-compose.yml"
|
|
https://github.com/krateng/maloja/blob/master/example-compose.yml
|
|
```
|
|
|
|
Uncomment `environment` and add `MALOJA_FORCE_PASSWORD=CHANGE_ME` to set an admin password
|
|
|
|
Start the container:
|
|
|
|
```shell title="~/malojaData"
|
|
docker compose up -d
|
|
```
|
|
</details>
|
|
|
|
* 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.](#create-docker-compose-file)
|
|
|
|
```yaml title="~/msData/docker-compose.yml"
|
|
- MALOJA_URL="http://192.168.0.100:42010"
|
|
- MALOJA_API_KEY=myApiKey
|
|
```
|
|
</TabItem>
|
|
<TabItem value="lastfm" label="Last.fm">
|
|
[Register for an API account at Last.fm.](https://www.last.fm/api/account/create)
|
|
|
|
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.](#create-docker-compose-file)
|
|
|
|
```yaml title="~/msData/docker-compose.yml"
|
|
- LASTFM_API_KEY=myApiKey
|
|
- LASTFM_SECRET=myApiSecret
|
|
```
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
## Start Multi-Scrobbler
|
|
|
|
:::tip
|
|
|
|
If you are running your multi-scrobbler container on a Linux host see [these instructions for setting proper file permissions.](./installation/installation.mdx#linux-host)
|
|
|
|
:::
|
|
|
|
From the same directory as the [`docker-compose.yml` you created earlier](#create-docker-compose-file) start the container:
|
|
|
|
```shell title="~/msData"
|
|
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**](./installation/installation.mdx#docker) docs
|
|
* Review the [**Configuration**](./configuration/configuration.mdx) 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](./configuration/configuration.mdx#webhook-configurations)
|
|
* Check out the [kitchensink example](./configuration/kitchensink.md)
|
|
* Consult the [**FAQ**](./FAQ.md) for solutions to common problems
|