tschaefer / beets-store

:musical_note: Beets Store. A plugin for the music geek's media organizer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Beets Store

A plugin for the music geek's media organizer.

Introduction

Beets Store is a web frontend for your music library organized by beets.

  • Play the music in your browser.
  • Optional scrobble the played music info to LastFM
  • Download the music files and entire albums (A zipped directory with the music files and the album cover image.)

Screenshots

Albums overview

Albums view

Artists overview

Artists view

Tracks overview

Tracks view

Album detailview

Album view

Installation

Install required services.

$ apt install redis

Install package and scripts.

$ git clone https://github.com/tschaefer/beets-store
$ cd beets-store
$ pipx install --include-deps .

Usage

Add plugin settings to beets configuration file.

store:
  host: "::1"
  port: 8080
  zipdir: /tmp/beets/store/zip
  lastfm:
    api_key: API_KEY
    secret_key: SECRET_KEY

The lastfm settings are optional. If you don't want to scrobble leave the settings out.

Example beets configuration file

Import audio files.

$ beet import /music

Fetch cover art.

The album art image must be stored as cover.jpg alongside the music files for an album. For optimal display all the images should have an equal width and height of at least 300x300 px.

$ beet fetchart

Start job queue worker.

The job queue is used to create album zip files for the download.

$ rq worker

Start the web service.

$ beet store

Docker

Configure environment file.

Set BEETS_MUSIC_VOLUME in the environment file docker-compose.env.

For overriding the configuration file and persist the database enable and set the proper settings in the enviroment and compose files.

Start the service.

$ docker compose --env-file docker-compose.env up

License

BSD 3-Clause “New” or “Revised” License

Further thirdparty license

Is it any good?

Yes

About

:musical_note: Beets Store. A plugin for the music geek's media organizer.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 43.2%Language:HTML 32.7%Language:JavaScript 12.4%Language:Shell 6.5%Language:CSS 3.6%Language:Dockerfile 1.7%