Navidrome

Self-hosted music streaming server. Implements the OpenSubsonic API so any Subsonic-compatible client works.

Compose

services:
  navidrome:
    image: deluan/navidrome:latest
    restart: unless-stopped
    ports:
      - "4533:4533"
    volumes:
      - ./data:/data
      - /path/to/music:/music:ro

Configuration

Navidrome tries to load the configuration from a navidrome.toml file in the current working directory, if it exists. You can create this file and put any of the configuration options below in it. Any configuration option can also be set as an environment variable, just add a the prefix ND_ and make it all uppercase. Ex: ND_LOGLEVEL=debug.

Common Options

OptionDefaultDescription
MusicFolder./musicDirectory containing your music library
DataFolder./dataWhere the database and app data are stored
Port4533HTTP listening port
LogLevelinfoVerbosity: error, warn, info, debug, trace
BaseUrlSet when running behind a reverse proxy with a subpath (e.g. /music)
SessionTimeout48hWeb UI idle session duration
FFmpegPathPath to ffmpeg binary if auto-detection fails
TranscodingCacheSize100MBCache size for transcoded audio
Scanner.ScheduleCron expression for automatic library scans
Scanner.WatcherWait5sDelay before scanning after a file change is detected
CoverArtPrioritySearch order for artwork (e.g. embedded, cover.jpg)
DefaultThemeDarkInitial theme for new users
DefaultLanguageenUI language on first login

Multiple Artists

When tagging tracks with multiple artists or collaborators, it’s important to clearly and consistently represent each artist. Navidrome supports both singular (ARTIST and ALBUMARTIST) and plural (ARTISTS and ALBUMARTISTS) tags. However, multi-valued tags (ARTISTS and ALBUMARTISTS) are preferred, as they allow Navidrome to more accurately identify individual artists and improve library organization.