Opinionated web-interface around the music organizer beets
- Autogenerate previews before importing
- Import via GUI
- Web-Terminal
- Undo imports
- Monitor multiple inboxes
- Library view and search
demo.mp4
Autotagging music with beets is great. Beets identifies metadata correctly most of the time, and if you are not a control-freak, there is hardly any reason to check the found metadata.
However, if you do want a bit more control, things could be more convenient.
This is the main idea with beets-flask: For all folders in your inbox, we generate a preview of what beets would do and show you those previews. Then it's easy to go through them and import the correct ones, while falling back to terminal for those that were not to your liking.
We provide a docker image with the full beeets-flask setup. You can run it with docker-compose or docker. We recommend using the stable
tag, alternatively you may use latest
for the most recent build.
Using docker
docker run -d -p 5001:5001 \
-e USER_ID=1000 \
-e GROUP_ID=1000 \
-v /wherever/config/:/config \
-v /music_path/inbox/:/music_path/inbox/ \
-v /music_path/clean/:/music_path/clean/ \
--name beets-flask \
pspitzner/beets-flask:stable
Using docker compose
services:
beets-flask:
image: pspitzner/beets-flask:stable
restart: unless-stopped
ports:
- "5001:5001"
environment:
# 502 is default on macos, 1000 on linux
USER_ID: 1000
GROUP_ID: 1000
volumes:
- /wherever/config/:/config
# for music folders, match paths inside and out of container!
- /music_path/inbox/:/music_path/inbox/
- /music_path/clean/:/music_path/clean/
This will create a container with the following folder structure:
├── music_path
│ ├── inbox
│ └── clean
└── config
├── beets
│ ├── config.yaml
│ └── library.db
└── beets-flask
├── config.yaml
└── beets-flask-sqlite.db
Check our documentation for more information!