Music Library Doctor
Blog · Navidrome companion

Keeping a Navidrome library clean without touching the server

Navidrome serves what you give it. The audit happens on the file system, not inside the server.

The problem

Navidrome (and the broader Subsonic ecosystem — Airsonic, Gonic, etc.) is excellent at being a focused, self-hosted music server. It does one thing well: serve your music collection with a clean API and good clients. What it explicitly doesn't do is audit the files it's serving — duplicates across formats, fake-FLACs in audiophile sections, files moved/renamed/orphaned — those problems live on the file system layer, not inside Navidrome's database.

How Music Library Doctor does it

  1. 1 Identify the music folder Navidrome scans. For Docker installs, it's whatever you bind-mounted to `/music` inside the container. For bare-metal installs, check `navidrome.toml` → MusicFolder.
  2. 2 Mount the same folder on the machine you run audit tools from. If Navidrome runs on a NAS or a dedicated server, mount the share to your workstation via SMB/AFP/NFS.
  3. 3 Run audit tools against the music folder. Music Library Doctor's Folder Library mode is the relevant fit. Library Health scan surfaces duplicates, quality issues, missing files, and scatter in one pass.
  4. 4 Clean up. Move duplicates to Trash (reversible), replace fake-FLACs via Smart Upgrade* if you have rights, consolidate scattered folders into a cleaner layout.
  5. 5 Trigger a Navidrome rescan (via the admin UI or API) so the server picks up the changes. New tracks indexed, removed tracks dropped, library state reflects the cleaner reality.

Supported today

Rekordbox · Serato DJ · VirtualDJ (incl. Favorite Folders) on Windows 10+ and macOS (Apple Silicon + Intel).

Why native integration matters

Self-hosted music servers are great at staying focused — Navidrome's authors specifically push back against feature creep that would turn it into a Plex-style monolith. That means audit tooling needs to live outside the server, which is actually the right architecture: file system as the substrate, server as one consumer of that substrate, audit tools as another consumer. Music Library Doctor operates entirely on the file system and never talks to Navidrome — clean separation, no plugin lifecycle to maintain, no auth integration to break when Navidrome updates.

Frequently asked questions

Does this work for Subsonic, Airsonic, Gonic, Polaris, etc.?

Yes. All Subsonic-family servers read music from a file system. MLD audits the file system; the server picks up the changes on its next scan.

What if my Navidrome is on a Raspberry Pi or low-power server?

MLD runs on Mac or Windows, not on the server itself. Mount the server's music folder to your Mac/PC, audit there, write back. The Pi doesn't need to do any audit work.

Can I keep MLD running and have it watch for new files?

Watch Folder mode is on the MLD roadmap. Today the workflow is run-on-demand: when you add new music, trigger an MLD scan before triggering a Navidrome rescan.

Does cleanup break Navidrome's playlists?

MLD operates on files. Navidrome's playlists are stored in its database with file path references — if you move or delete files, playlist references break. Best practice: keep cleanup operations to duplicates and fake-FLACs (which Navidrome probably doesn't have in playlists yet), and avoid moving files Navidrome's playlists already reference.

Get your library in shape in minutes

Free tier covers detection and viewing. Lifetime access is $49 — $19 for the first 100 DJs.

Related guides