2024-12-09 23:27:11 +03:00
2024-09-16 09:45:47 +01:00
2024-10-07 08:12:05 +01:00
2024-09-27 19:38:17 +01:00
2024-10-07 08:12:05 +01:00
2024-11-06 12:09:38 +00:00
2024-11-06 12:09:38 +00:00
2024-11-25 10:17:06 +00:00
2024-10-18 09:30:56 +01:00
2024-11-28 17:26:38 +00:00
2024-12-07 11:22:39 +01:00
2024-12-09 23:27:11 +03:00

Music Library

Features

  • Import 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)
  • Some basic stats
  • All data stored in a single SQLite database for portability and ease of backup/restore
  • Ideal for deployment on a server with limited resources (1CPU, 512MB RAM)

Setup

Run mix setup to install and setup dependencies.

Environment configuration

The application requires two environment variables:

  • LAST_FM_USER: the Last.fm username used to populate the Scrobble Activity
  • LAST_FM_API_KEY (secret): the Last.fm API key used to fetch the Scrobble Activity

The application is setup to use direnv. The z

The .envrc file loads two other files: .envrc.local file for configuration variables, and a .secrets file for secrets.

You can create them and populate them with the necessary environment variables.

Running the application

  • Start the Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

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

Deployment

The application is setup for deployment on Fly.io - just make sure you edit fly.toml to match your app name, domain, etc.

CI

See the .github 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%