Jump to content

[Support] FoxxMD - maloja

Recommended Posts

Application Name: maloja

Application Site: https://maloja.krateng.ch/

Github Repo: https://github.com/krateng/maloja

Docker Hub: https://hub.docker.com/r/krateng/maloja

Template Repo: https://github.com/FoxxMD/unraid-docker-templates




maloja is self-hosted music scrobble server to create personal listening statistics and charts as a substitute for Last.fm / Libre.fm / GNU FM

(scrobbling is the act of recording the music you listen to a database.)


maloja has many features that make it suitable as a replacement for last.fm, etc. including:


  • Easy import of existing scrobble data in CSV format (from last.fm, etc.)
  • Custom rules for importing/scrobbling
  • Custom and 3rd party integrations for album/artist artwork&
  • Insightful charting to display time-sliced "top charts" for tracks and artists
  • Full listening history and track lookup using multiple sources (youtube, gmusic, spotify..)
  • A first-party chrome extension for scrobbling from the web as well as third-party scrobble-compliant endpoints for use with other extensions and applications






Initial setup only requires adding the template from CA.


A randomly generated API key to use with your preferred scrobbling client can be found in mnt/user/appdata/maloja/clients/authenticated_machines.tsv


A default setting file is generated at /mnt/user/appdata/maloja/settings/default.ini

If you want to override any default settings then add them to another file, settings.ini, in the same folder. You may have to create the file first.


Additional Configuration/Usage


I will only be covering what is not already included in the readme so check that out first for info on how to import from last.fm, make backups, update db rules, and set general configuration.


Setting up Artist/Album Image Fetching


Three 3rd party APIs can be integrated to fetch artwork. Of these Last.fm only fetches track artwork. So I would recommend integrating each of these one at a time and only setting up the next on the list if not all of your images are fetched:

  • Spotify - go through the Create A Client ID process. You will need the client ID and Secret.
  • Last.fm - Will also need client ID and Secret
  • Fanart.tv - Only need the API Key


Add each (as necessary) to your settings.ini file and then restart the container.


Scrobble Clients


These are my personal preferences for scrobble clients and are definitely not exhaustive.


I have developed a CA application for scrobbling plays from Spotify and Plex/Tautulli to Maloja, check it out!


Web-based --

https://web-scrobbler.github.io/ has extension for chrome and firefox that work on almost any website. 


  • Open extension options
  • Under Account choose Properties for ListenBrainz
    • API URL:
    • Token: Any of the tokens you have registered for maloja



Local-based --

I don't have any native applications for listening to music but instead use https://github.com/airsonic-advanced/airsonic-advanced which has ListenBrainz integration


  • Open settings -> credentials
  • Add credentials with app Listenbrainz
    • Password is any maloja token
  • Open settings -> personal
  • Check "Register what I'm playing at ListenBrainz"
    • In the ListenBrainz URL field that appears enter the same URL as used for web-scrobbler






For more scrobble client options check out this issue

Edited by FoxxMD
updated dockerhub repo
Link to comment



I've been looking for a self-hosted alternative to last.fm for a while now so I'm excited about this.

Got the docker all set up - last.fm history imported and all looks good.

What I'm struggling with is scrobbling from iTunes on OSX. I've been fiddling around but haven't found a way, yet, to get this to work.


Would love to hear if someone has any ideas or has this working.




Link to comment
33 minutes ago, abb0r said:

Is it possible to scrobble from Plex server? The easiest method may be with webhooks

Yes webhooks would be the easiest but it is also gated behind Plex Pass (paid subscription). It even has a media.scrobble event for just such a use case.

Another option would be using Tautulli with a custom script for a notification agent or webhook on the Watched trigger. 


but I don't know how to do that. :D

Well...can lead a horse to water 😅 If I have any free time in the upcoming week I'll see what it would take to throw together something to do this

Edited by FoxxMD
Link to comment
  • 4 months later...
  • 10 months later...

Hey! I'm having a hell of a time trying to figure out how to import my LastFM csv.  The instructions from Github tell me to


Never import your data while maloja is running. When you need to do import inside docker container start it in shell mode instead and perform import before starting the container as mentioned above.


However, I have no idea how to start the container in "Shell mode" on Unraid.


I've tried to taking my CSV from https://benjaminbenben.com/lastfm-to-csv/ and importing it while Maloja is running, but it errored out on every single line


I'm definitely feeling a little stuck on how to get all my history imported.


(If it helps, I do have Multi-Scrobbler up and running well and connecting to my Maloja instance - but I don't see a way from that app to import from LastFM history either)



Edited by noja
Link to comment
  • 6 months later...
  • 4 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...