Skip to content

Add Beets music library manager script - #1381

Closed
JaredVititoe wants to merge 6 commits into
community-scripts:mainfrom
JaredVititoe:add-beets-script
Closed

Add Beets music library manager script#1381
JaredVititoe wants to merge 6 commits into
community-scripts:mainfrom
JaredVititoe:add-beets-script

Conversation

@JaredVititoe

Copy link
Copy Markdown

Summary

  • Adds Beets, a CLI music library manager and MusicBrainz tagger
  • Auto-tags music using MusicBrainz and acoustic fingerprinting (Chromaprint)
  • Fetches album art, lyrics, and genres automatically
  • Organizes files with customizable naming schemes
  • Includes optional web interface on port 8337

Files Added

  • ct/beets.sh - Container creation and update script
  • install/beets-install.sh - Installation script
  • frontend/public/json/beets.json - Frontend metadata

Plugins Included

chroma, lyrics, fetchart, embedart, lastgenre, scrub, duplicates, missing, info, edit, web

Resources

  • CPU: 2 cores
  • RAM: 1024 MB
  • Disk: 8 GB
  • OS: Debian 12

Test plan

  • Create LXC using the script
  • Verify beet command works
  • Test music import with beet import /path/to/music
  • Verify web UI works when enabled

🤖 Generated with Claude Code

Beets is a CLI music library manager that:
- Auto-tags music using MusicBrainz and acoustic fingerprinting
- Fetches album art, lyrics, and genres
- Organizes files with customizable naming schemes
- Includes optional web interface on port 8337

Plugins included: chroma, lyrics, fetchart, embedart, lastgenre, scrub, duplicates, missing, info, edit, web

Co-Authored-By: Claude <noreply@anthropic.com>
@MickLesk

Copy link
Copy Markdown
Member

Fill proper PR Template correctly

Use AI.md from Docs for Claude with visual Studio Code for correct working. You used core deps, wrong functions, wrong msgs

@greptile-apps

greptile-apps Bot commented Jan 31, 2026

Copy link
Copy Markdown
Contributor

Greptile Overview

Greptile Summary

Adds Beets music library manager with CLI and optional web interface. The implementation includes container setup script (ct/beets.sh), installation script (install/beets-install.sh), and frontend metadata (frontend/public/json/beets.json).

Key Changes:

  • Created Python virtual environment at /opt/beets with required packages
  • Configured default music directory at /media/music with MusicBrainz integration
  • Enabled plugins: chroma, lyrics, fetchart, embedart, lastgenre, scrub, duplicates, missing, info, edit, web
  • Created systemd service for optional web interface on port 8337
  • Added shell wrapper at /usr/local/bin/beet for easy CLI access

Issues Found:

  • Variables in ct/beets.sh not using parameter expansion syntax (lines 10-15)
  • Using apt-get instead of apt in both scripts
  • Missing standard ending format in ct/beets.sh (line 51)
  • Missing cleanup_lxc call in install/beets-install.sh (line 150)
  • Logo URL not from selfh.st/icons CDN library
  • May be reinstalling preinstalled dependencies (curl, sudo, mc)

Confidence Score: 2/5

  • This PR requires fixes before merging due to multiple syntax violations and missing required function calls
  • Score reflects multiple syntax issues across all three files that violate repository standards: parameter expansion syntax, apt vs apt-get usage, missing cleanup_lxc call, incorrect ending format, and non-compliant logo URL. While the core functionality appears sound, these standardization issues must be resolved
  • All three files need attention: ct/beets.sh for variable syntax and ending format, install/beets-install.sh for missing cleanup_lxc call, and frontend/public/json/beets.json for logo URL

Important Files Changed

Filename Overview
ct/beets.sh Variables not using parameter expansion syntax; apt-get should be apt; missing standard ending format
install/beets-install.sh Missing cleanup_lxc call; uses apt-get instead of apt; potentially reinstalls preinstalled dependencies
frontend/public/json/beets.json Logo URL not from selfh.st/icons CDN library; structure is otherwise correct

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 files reviewed, 8 comments

Edit Code Review Agent Settings | Greptile

Comment thread ct/beets.sh Outdated
Comment thread ct/beets.sh Outdated
Comment thread ct/beets.sh
Comment thread install/beets-install.sh Outdated
Comment thread install/beets-install.sh Outdated
Comment thread install/beets-install.sh Outdated
Comment thread install/beets-install.sh Outdated
Comment thread frontend/public/json/beets.json Outdated
JaredVititoe and others added 2 commits January 31, 2026 14:19
- Use parameter expansion syntax for variables
- Fix category to 13 (Media & Streaming)
- Use selfhst icons CDN for logo
- Add cleanup_lxc at end of install script
- Enable beets-web service by default
- Simplify output format to match standard
- Add proper author format

Co-Authored-By: Claude <noreply@anthropic.com>
JaredVititoe and others added 3 commits January 31, 2026 14:40
Reverts ct/beets.sh to use main repo URL after successful testing.

Co-Authored-By: Claude <noreply@anthropic.com>
The lyrics plugin requires langdetect module to function properly.

Co-Authored-By: Claude <noreply@anthropic.com>
@michelroegl-brunner

Copy link
Copy Markdown
Member

Please use our PR Template. We have action wich are depeden on it. This can and will not be reviewd otherwise and closed.

@github-actions

github-actions Bot commented Feb 8, 2026

Copy link
Copy Markdown
Contributor

@JaredVititoe This PR has been marked as stale. It will be closed if no new commits are added in 7 days.

@michelroegl-brunner

Copy link
Copy Markdown
Member

Still no vaild pr template, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants