Skip to content

Beets

Beets is the media library management system for obsessive music geeks. It catalogs your collection, automatically improving its metadata.

Package Information

Property Value
Package Name beets
Upstream beets.io
License MIT

Features

  • Automatic metadata correction via MusicBrainz
  • Album art fetching
  • Duplicate detection
  • Format conversion
  • Plugin system
  • Web interface (optional)

Installation

  1. Install Beets from Package Center
  2. Configure via SSH

Configuration

Configuration File

Edit /var/packages/beets/var/config.yaml:

directory: /volume1/music
library: /var/packages/beets/var/library.db

import:
    move: yes
    copy: no
    write: yes

paths:
    default: $albumartist/$album/$track $title
    singleton: Non-Album/$artist/$title
    comp: Compilations/$album/$track $title

Plugins

Enable plugins in config:

plugins:
    - fetchart
    - embedart
    - lastgenre
    - web
    - duplicates

Usage

Import Music

# Import with prompts
/var/packages/beets/target/env/bin/beet import /path/to/music

# Automatic import
/var/packages/beets/target/env/bin/beet import -A /path/to/music

# Import as singles (non-album tracks)
/var/packages/beets/target/env/bin/beet import -s /path/to/music

Query Library

# List all albums
beet ls -a

# Search by artist
beet ls artist:Beatles

# Search by year
beet ls year:2020

Update Metadata

# Update tags from MusicBrainz
beet update

# Fetch missing album art
beet fetchart

Web Interface

Enable the web plugin and access at port 8337:

web:
    host: 0.0.0.0
    port: 8337

Integration

Beets works well with: - Navidrome - Music streaming - Lidarr - Music management

Troubleshooting

Import Hangs

Try limiting concurrent tasks:

import:
    threads: 1

Wrong Matches

Use interactive mode and select correct release:

beet import /path/to/album

Plugin Support

Plugin Status Notes
embedart ✅ Yes
lastgenre ✅ Yes
lastimport ✅ Yes
metasync ✅ Yes
replaygain ✅ Yes
scrub ✅ Yes
sonosupdate ✅ Yes
beatport ⚠️ Partial Requires user authentication code to access API
chroma ⚠️ Partial Requires the Chromaprint package
discogs ⚠️ Partial Requires user authentication code to access API
embyupdate ⚠️ Partial Requires Emby password or apikey
fetchart ⚠️ Partial Art source disabled if no key is configured
kodiupdate ⚠️ Partial Requires configuration of your Kodi host
lyrics ⚠️ Partial Google source disabled if no API key is configured
plexupdate ⚠️ Partial Requires configuration of your Plex server
absubmit ❌ No Deprecated; requires external essentia extractor
aura ❌ No Requires Flask web server
autobpm ❌ No Excluded due to build complexity
bpd ❌ No Requires persistent MPD server
docs ❌ No Likely deprecated
import ❌ No Likely deprecated
mpdstats ❌ No Requires persistent runtime
reflink ❌ No Likely deprecated
thumbnails ❌ No Desktop integration only (Nautilus/Thunar)
web ❌ No Requires persistent Flask server