Aurral

Comparison

Aurral vs Navidrome: Discovery Layer or Music Server

Navidrome does have recommendations, so this comparison needs care. It has smart playlists and top-played lists, which is a different thing from what Aurral does. Understanding the difference tells you whether you need both.

The short answer

If you want playback

Navidrome. It is a mature, fast Subsonic-compatible server.

If you want discovery that fetches music

Aurral. Smart playlists select from what you own and stop there.

If you want both

Run both. They are designed to, and it is the normal setup.

The difference in one sentence

Navidrome's recommendations choose from music you already have. Aurral's recommendations propose music you do not have, and download it.

A smart playlist can do a genuinely good job of resurfacing forgotten tracks from a large library. That is a real capability and worth using. But it cannot introduce you to anything, because it only sees your existing files.

That is the boundary. Resurfacing versus discovery.

CapabilityNavidromeAurral
Stream your library over SubsonicYesYes, via /rest
Smart playlists from your own libraryYesYes, as static playlists
Recommend artists you do not ownNoYes
Download what a recommendation findsNoYes
Refill a playlist on a schedulePartly, smart playlists refreshYes, Flows rebuild
Publish playlists to NavidromeNot applicableYes
Fetch missing music automaticallyNoYes, via download clients
Quality verification after downloadNoYes

Running both, properly

This is the intended setup rather than a compromise. Aurral publishes playlists into Navidrome, so Flows appear in Feishin or any Subsonic client alongside your other playlists.

Two things have to be true for it to work well. Navidrome must scan the same folder where Aurral puts Flow files, or playlist tracks resolve as unavailable. And Aurral needs a remote path mapping if the two containers mount the media at different container paths.

One subtlety worth knowing: when a Flow rotates out, Aurral asks the connected playback servers which files their playlists still use, and keeps anything still referenced. If Navidrome is unreachable at that moment, cleanup is deferred rather than deleting a file that might still be in use.

  • Mount the same host path at the same container path in both.
  • Have Navidrome scan the Flow output folder.
  • Set SCAN_PURGEMISSING so rotated tracks do not linger.
  • Use the bare playlist name or the username prefix, per settings.

When you would run Aurral without Navidrome

If you use Plex or Jellyfin for playback, Navidrome is not involved. Aurral publishes to those instead, and the naming differs per server because each scopes playlists differently.

If you genuinely only ever listen in a browser, Aurral's own player plus the Subsonic API is enough and Navidrome is one more container than you need.

What smart playlists are still good for

Resurfacing. A smart playlist that pulls from your least-played tracks, or builds a rotation from a genre, does something Aurral does not try to do.

Run both kinds of thing. Let Navidrome handle resurfacing with smart playlists, and let Aurral handle expansion with Flows. They are not competing for the same job.

Frequently asked questions

Does Aurral replace my Navidrome server?

No. Aurral exposes a Subsonic API so players can connect to it, but Navidrome is the better streaming server for most people. Run both.

Navidrome already has recommendations. Why add Aurral?

Because Navidrome's smart playlists select from music you already own. Aurral recommends music you do not own and downloads it, which is a different capability.

Will Aurral publish Flows into Navidrome automatically?

Once Navidrome is connected, yes. Playlists appear under the playlist owner, prefixed with the username unless you turn that off.

Flow tracks show as unavailable in Navidrome. Why?

Navidrome is not scanning the folder where the Flow files live. Both containers need to see the media, and Navidrome needs to have scanned it.

Try Aurral against Navidrome yourself

One container, one port, and it works alongside whatever you already run. Nothing you have needs to be replaced.