2026-02-15 14:00:21 +00:00
2026-02-14 09:05:06 +00:00
2025-12-12 08:55:49 +03:00
2026-02-15 11:56:09 +00:00
2024-10-07 08:12:05 +01:00
2026-02-15 14:00:21 +00:00
2026-02-10 08:23:05 +00:00
2026-02-10 19:32:28 +00:00
2025-02-18 12:56:29 +00:00
2025-10-25 21:12:37 +01:00
2025-07-14 08:45:21 +01:00
2025-02-17 18:05:41 +00:00
2025-10-16 20:46:22 +01:00
2025-10-07 17:21:39 +03:00
2026-01-20 11:52:00 +00:00
2026-02-11 09:12:02 +00:00
2026-02-10 19:34:53 +00:00
2026-02-05 11:14:20 +00:00
2026-01-20 11:52:00 +00:00
2026-02-12 20:00:01 +00:00

Music Library

Features

  • Add records from MusicBrainz, with optional override of specific pieces of data
  • Manage a collection and a wishlist of records, with ways to quickly search and filter based on records' metadata
  • Integration with Last.fm:
    • display latest scrobbles, and where possible connect them with records in the collection or wishlist
    • scrobble a record
    • store a local copy of the complete scrobble history, and setup rules to fix its data as needed
  • Some basic stats
  • All data stored in a single SQLite database for portability and ease of backup/restore

Screenshots

Stats

Stats

Collection

Collection

Searching for a record to add

Searching for a Record to add

Edit a record in the collection

Edit a record in the collection

View a record's details in the collection

View a record's details in the collection

View a record's tracklist

View a record's tracklist

Adding a record in the wishlist

Adding a record in the wishlist

View an artist's details

View an artist's details

View the scrobble activity

View the scrobble activity

Setup

The project is managed and configured via mise-en-place:

  • mise install will pull the correct Erlang, Elixir and Node.js versions
  • mise run dev:setup will setup dependencies and database structure

Important

The project uses Fluxon UI, so it requires a valid set of credentials. See the env section in mise.toml for the required environment variables.

It's recommended to use the git hooks included in the project. Install with:

mise generate git-pre-commit --write --task=dev:precommit

Environment configuration

Required environment variables for development are listed in mise.toml.

You can create a mise.local.toml with the required variables (sample values are included at the top of mise.toml).

For production, please see compose.yaml for a list of required variables.

Running the application

Start the Phoenix endpoint with mise run console (along with an attached IEx session).

Now you can visit localhost:4000 from your browser. The default password for development is change me.

Deployment

The application is deployed via Coolify, using a Docker Compose strategy.

CI

See the .github folder.

Architecture

See the docs folder.

Favicons

This favicon was generated using the following graphics from Twitter Twemoji:

S
Description
No description provided
Readme 63 MiB
Languages
Elixir 77.4%
Python 10%
TypeScript 6.6%
HTML 3.7%
Shell 1.4%
Other 0.8%