Find a file
Matt Foxx ec4a51074e
Some checks failed
Publish Docker image to Dockerhub / test (push) Has been cancelled
Publish Docker image to Dockerhub / Build OCI Images (push) Has been cancelled
Publish Docker image to Dockerhub / Build OCI Images-1 (push) Has been cancelled
Publish Docker image to Dockerhub / Merge OCI Images and Push (push) Has been cancelled
Merge pull request #570 from FoxxMD/fixListenRange
Fix listen range
2026-04-22 13:27:32 -04:00
.devcontainer chore!: Bump node to 24 2026-04-01 15:23:40 +00:00
.github ci: Add Cloudflare Pages hook trigger to docs deployment 2026-04-17 18:56:47 +00:00
.storybook chore: Remove unused testing libraries and fix storybook version 2026-04-01 12:59:08 +00:00
.vscode chore: exclude schema folder from search 2026-03-04 15:52:49 +00:00
assets refactor(discord): Update links and art 2026-02-17 21:05:26 +00:00
config Update ymbridge.json.example 2026-04-09 22:28:32 +03:00
deploy chore: Add kasm service as extenable compose file for dev 2026-02-26 19:12:21 +00:00
docker/root/etc/s6-overlay/s6-rc.d refactor(mpris): Remove socat service in favor of simplified dbus connection 2025-07-08 19:53:55 +00:00
docsite docs: order BASE_SITE first to allow overriding other envs 2026-04-17 18:30:22 +00:00
flatpak chore: Update flatpak description 2025-03-31 12:12:28 -04:00
patches fix(discord): Patch IPC client to catch socket error 2026-02-25 02:54:18 +00:00
public Update index.html 2024-01-19 11:05:34 -05:00
src fix(discord): Include known spotify cdn for media providers #569 2026-04-22 13:46:38 +00:00
.dockerignore fix(docker): Ignore dist folder 2026-04-09 02:19:00 +00:00
.gitignore almost working 2026-04-07 14:14:25 +00:00
.lnav.config.json docs: Add lnav config 2024-12-27 18:49:29 +00:00
.mocharc.json test: Setup transient di cache 2025-09-11 19:14:01 +00:00
.nvmrc chore!: Bump node to 24 2026-04-01 15:23:40 +00:00
cliff.toml chore: Update git-cliff workflow 2026-02-11 15:24:54 +00:00
CODE_OF_CONDUCT.md Add Contributor Covenant Code of Conduct 2026-03-27 13:15:33 -04:00
CONTRIBUTING.md chore: Refactor git/dev workflow to use master as unstable branch 2024-08-30 09:53:52 -04:00
docker-compose.dev.yml feat(docker): Add proper opencontainer labels 2026-04-16 02:05:38 +00:00
docker-compose.yml docs: Update Spotify docs and usage due to Redirect URI changes 2025-08-01 17:28:16 +00:00
Dockerfile feat(docker): Add proper opencontainer labels 2026-04-16 02:05:38 +00:00
eslint.config.js Init storybook with chakra-ui 2026-03-18 10:25:20 -04:00
index.html Update index.html 2024-01-19 11:05:34 -05:00
LICENSE Create LICENSE 2020-12-06 21:51:20 -05:00
package-lock.json refactor: Replace fast-deep-equal with fast-equals 2026-04-22 13:43:14 +00:00
package.json refactor: Replace fast-deep-equal with fast-equals 2026-04-22 13:43:14 +00:00
README.md docs: Update readme with new doc site base url 2026-04-07 12:39:41 +00:00
tsconfig.json feat: Improve client/source schema validation generation and error handling 2024-10-09 12:18:23 -04:00
vite.config.ts fix(vite): Allow requests from anywhere during dev 2026-04-17 12:49:55 +00:00

multi-scrobbler

Latest Release License: MIT Docker Pulls Docs

multi-scrobbler logo

A dockerized app that monitors your music listening activity from everywhere and scrobbles it anywhere.

Quick Start Guide

Why should I use this over a browser extension and/or mobile app scrobbler?

  • Platform independent -- Because multi-scrobbler communicates directly with service APIs it will scrobble everything you play regardless of where you play it. No more need for apps on every platform you use!
  • Open-source -- Get peace of mind knowing exactly how your personal data is being handled.
  • Track your activity regardless of where you listen -- Scrobble from many Sources to one Client with ease and without duplicating tracks.
  • Manage scrobbling for others -- Scrobble for your friends and family without any setup on their part. Easily silo sources to specific clients to keep plays separate.

But I already scrobble my music to Last.fm/ListenBrainz, is multi-scrobbler for me?

Yes! You can use Last.fm as a Source or Listenbrainz as a Source to forward scrobbles from your profile to any other Client! That way you can keep your current scrobble setup as-is but still get the benefit of capturing your data to a self-hosted location.

How Does multi-scrobbler (MS) Work?

You set up configurations for one or more Sources and one or more Clients. MS monitors all of your configured Sources. When new tracks are played by a Source MS grabs that information and then sends it (scrobbles it) to all Clients that Source is configured to forward to.

Source

A Source is a data source that contains information about music you are playing or have listened to, such as: a desktop player, web music player, or cloud music service. Examples are Spotify, Jellyfin, Plex, Youtube Music, Navidrome, etc...

Source configurations consist of:

  • A friendly name.
  • Any data needed to communicate or authenticate with the Source.
  • An optional list of Client names that the Source should scrobble to. If omitted the Source also scrobbles to all configured Clients.

Client

A Client is an application that stores the historical information about what music you have played (scrobbles). Examples are Koito, Last.fm, Listenbrainz...

Client configurations consist of:

  • A friendly name.
  • Any data needed to communicate or authenticate with the Client.

Quick Start

See the Quick Start Guide

Installation

See the Installation documentation

Configuration

See the Configuration documentation

Usage

A status page with statistics, recent logs, and some runtime configuration options can be found at

http://localhost:9078

Output is also provided to stdout/stderr as well as file if specified in configuration.

On first startup you may need to authorize Spotify and/or Last.fm by visiting the callback URL (which can also be accessed from the status page). Visit the status page above to find the applicable link to trigger this.

Help/FAQ

Having issues with connections or configuration? Check the FAQ before creating an issue!

Development

Detailed architecture and development guides for Sources/Clients

License

MIT