Maloja: Your Personal Self-Hosted Music Scrobble Database

Mar 16, 2023 | Data Science

Maloja is an innovative self-hosted music scrobble database designed to empower music enthusiasts by providing a platform to create personal listening statistics. Imagine being able to track your listening habits over time without relying on public music databases—Maloja allows exactly that!

Table of Contents

Features

  • **Self-hosted**: Own your data in an easily-parseable format.
  • **Associated Artists**: Compare artist popularity easily.
  • **Multi-Artist Tracks**: Artists are tracked independently in your charts.
  • **Custom Images**: Personalize your favorite artist pages.
  • **Proxy Scrobble**: Forward your scrobbles to other services easily.
  • **Standard-compliant API**: Compatibility with existing apps and extensions.
  • **Manual Scrobbling**: Submit scrobbles manually if needed.
  • **Keep it Simple**: Focus on tracking your listening habits without distractions.

How to Install

Requirements

Maloja operates on Python and can run on any x86 or ARM machine. For the best experience, using Docker or Podman is highly recommended. Ensure your CPU has at least a single-core Passmark score of 1500, and aim for 2 GB of RAM for optimal performance.

Docker / Podman

To start with Docker, pull the latest image and launch it with the appropriate configurations:

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

PyPI

Install Maloja via pip with the command:

pip install malojaserver

From Source

To install from source, clone the repository:

git clone https://github.com/krateng/maloja
cd maloja
sh .install/install_dependencies_alpine.sh
pip install -r requirements.txt
pip install .

Extras

For additional features like image display, you might want to obtain API keys for Last.fm and Spotify, and it’s recommended to run your server behind a reverse proxy for added security.

How to Use

Basic Control

You can run the application using the command maloja run or manage it in the background with maloja start and maloja stop.

Data

Import your previous scrobbles effortlessly using:

maloja import *filename*

Backup your data with:

maloja backup

Customization

Customize your Maloja experience by editing settings in etc/maloja/settings.ini or through environment variables prefixed with MALOJA_.

How to Scrobble

Set up API keys in apikeys.yml and utilize various scrobbler clients or perform manual scrobbling if needed.

How to Extend

If you wish to implement further functionalities on Maloja, reference the api_explorer.

Troubleshooting

If you encounter issues during installation or setup:

  • Ensure Docker or Podman is correctly installed and running.
  • Verify that environmental variables are set as described in the documentation.
  • Check that your machine meets the CPU and RAM requirements.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox