Greetings Lemmings!
I am not new to self hosting; been at it for a few years. And I have neglected a very important part of my home lab; MUSIC!
So I stream music from Navidrome to all of my devices.
My music library has grown organically over the years, for probably the past 17 years. And a few times I had manually organized and fixed up some of the tags. But ultimately I ended up with a mess of a library.
I am working on cleaning that up. Though I absolutely should have cleaned it up before I created 2 backup scripts.
In short, I have a script that is called from a systemd service on a timer that runs my backup script that essentially more or less uses rsync to mirror the files in LiveMusicDir to MusicArchive1. This happens on my docker host where my Navidrome lives. The Music is on an NFS share hosted outside of the docker host.
The next step I run another similar setup on my desktop; systemd service running a script on a timer that uses rsync and other dependencies to track changes.
What I plan to do is organize the source. I am using beets, and learning as I go.
What methods do you use for managing a large music library?


I personally use a music tagging/renaming program called Picard. Point it at a relatively unorganized music folder, it tries to identify each track based on the existing metadata or acoustic signature, adds/modifies the track metadata based on the Music Brainz database, and runs a custom renaming script that moves it into place per my preferences.
Its not as automated as I would like, and takes some hand holding, but keeps my collection clean and standardized.
Picard is the way to go if you want to get the highest quality tagging with exact release matching. Most would probably not care too much about this, however when I know my files were ripped from a Japanese release, I want the tags to reflect this. Picard allows me to find the right match before any tags are written. This is especially helpful when you have two or more different versions of the same album, e.g. one CD rip and one vinyl rip, or two CD releases with different set of bonus tracks. My directory structure and tagging rules set in Picard allow me to manage this consistently with no manual workarounds.
I was looking into setting a docker container of Picard, and see what I could do with it. However, I was looking for the most automated solution I could find; and happened to land on Beets.
Though I may still try out Picard as a supplementary option.
Not tried beets (this thread only now made me aware of it), but adding a +1 for Picard
I let it run on a huge chunk of my music and apart from a few tracks it thought should be in compilation albums, worked really well.
After the big sift, I basically just run it on new stuff when I get it…
Sometimes I use Puddletag to fine-tune some data.
I find most new things I get from Bandcamp, etc are in MusicBrainz, so not much editing required… although I have spent some time over the years carefully entering some older, more obscure music.