Skip to content

degeens/scrobblet

Repository files navigation

Scrobbling gopher

Scrobblet

CI Go version Go Report Release License Docker Pulls

Scrobblet is a lightweight scrobbler for self-hosters. It tracks your listening activity from a music source and scrobbles it to your preferred targets, and is easy to extend with new integrations.

Currently, Scrobblet supports scrobbling from Spotify to Last.fm, ListenBrainz (including any ListenBrainz-compatible service), Maloja, Koito, and CSV.

⚠️ Warning: This project is in early stages of development. Features and APIs may change without notice.

Features

  • Lightweight: Scrobblet is and will always be lightweight, perfect for self-hosting environments
  • Device-independent: Communicates with streaming service APIs, so it doesn't matter which device you play your music on
  • Multiple targets: Scrobble to multiple services simultaneously
  • Now playing support: Broadcasts what you're currently listening to
  • Adaptive polling: The polling interval automatically adjusts based on your listening activity to reduce unnecessary load

Installation

Here's a minimal Docker Compose file to get started with scrobbling from Spotify to CSV:

services:
  scrobblet:
    container_name: scrobblet
    image: degeens/scrobblet:latest
    volumes:
      - scrobblet-data:/etc/scrobblet
    ports:
      - 7276:7276
    environment:
      - SCROBBLET_SOURCE=Spotify
      - SCROBBLET_TARGETS=CSV
      - SPOTIFY_CLIENT_ID=your_spotify_client_id
      - SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
      - SPOTIFY_REDIRECT_URL=http://127.0.0.1:7276/spotify/callback
    restart: unless-stopped
volumes:
  scrobblet-data:

Set SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, and SPOTIFY_REDIRECT_URL to your actual Spotify application credentials. See the Spotify Configuration Guide for instructions on obtaining these.

For detailed installation instructions, see the Installation Guide.

Configuration

For detailed configuration instructions, see the Configuration Guide.

Contribution

Contributions are welcome, especially those aligned with Scrobblet's goal of staying lightweight.

Feel free to open an issue or create a pull request to propose improvements or new integrations.

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.

Contributors 2

  •  
  •