Repolode
krateng

krateng/maloja

Self-hosted music scrobble database that stores your listening history and generates personal listening statistics and charts.

Open-source alternative to:Last.fm

Stars
1,858
Forks
101
Open issues
135
Last commit
16 hours ago

What is it?

Maloja is a self-hosted server that collects music scrobbles, the play records sent by music players, and turns them into personal listening statistics and charts. Your library is kept locally and is not synced with public music databases, so you can apply your own tagging scheme.

It accepts scrobbles through a standard-compliant API that existing scrobbler apps and extensions can use, and it can forward scrobbles to other services through its proxy scrobble feature. Manual scrobbles can be submitted from the web interface for music that is not played on a connected device. Data can be imported from Last.fm, Spotify and ListenBrainz exports or from another Maloja instance.

Maloja runs in Docker or Podman; the project advises against bare-metal installs. It supports associated artists, multi-artist tracks, custom images and custom rules, and it deliberately omits social features, radio and recommendations.

Key features

  • 01Stores scrobbles locally in an easily parseable format
  • 02Associates artists with subunits, collaborations and solo projects without losing data
  • 03Counts each artist in multi-artist and featured tracks separately
  • 04Forwards scrobbles to other services via proxy scrobbling
  • 05Accepts scrobbles from any client that supports Last.fm-compatible or ListenBrainz-compatible servers
  • 06Lets you upload custom artist and track images

Use cases

  • Keeping a long-term, private record of your listening habits
  • Tracking vinyl or background music that is not played through a connected app
  • Importing years of history from Last.fm or Spotify exports
  • Running a personal stats page for yourself on a home server

Quick start

  1. 1

    Run the Docker container with a mounted data folder

    docker run -p 42010:42010 -v $PWD/malojadata:/mljdata -e MALOJA_DATA_DIRECTORY=/mljdata krateng/maloja
  2. 2

    Open the web interface at localhost:42010 in your browser

Things to know

  • Only security updates are being released; the author is building a successor, maloja-rs.
  • The README advises against bare-metal installs and offers no help for them; use Docker or Podman.
  • Displaying artist images requires free Last.fm and Spotify API keys.

In collections

Topics

FAQ

What is maloja?
Self-hosted music scrobble database that stores your listening history and generates personal listening statistics and charts. Maloja is a self-hosted server that collects music scrobbles, the play records sent by music players, and turns them into personal listening statistics and charts. Your library is kept locally and is not synced with public music databases, so you can apply your own tagging scheme.
Is maloja free to use? What license does it have?
maloja is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is maloja still maintained?
Actively maintained. The last commit to maloja was on Nov 6, 2026.
What can I use maloja for?
Keeping a long-term, private record of your listening habits Tracking vinyl or background music that is not played through a connected app Importing years of history from Last.fm or Spotify exports Running a personal stats page for yourself on a home server
How do I install maloja?
Run the Docker container with a mounted data folder: docker run -p 42010:42010 -v $PWD/malojadata:/mljdata -e MALOJA_DATA_DIRECTORY=/mljdata krateng/maloja Open the web interface at localhost:42010 in your browser
Where can I get maloja?
The source code and installation instructions are on GitHub: https://github.com/krateng/maloja

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects