Navidrome Configuration Options (2024)

How to customize Navidrome to your environment

Navidrome allows some customization using environment variables, loading from a configuration fileor using command line arguments.

Configuration File

Navidrome tries to load the configuration from a navidrome.toml file in the current workingdirectory, if it exists. You can create this file and put any of the configuration options belowin it. Example of a configuration file (select your OS):

  • Example:
  • Windows
  • macOS
  • Unix-based systems
# This is just an example! Please see available options to customize Navidrome for your needs at# https://www.navidrome.org/docs/usage/configuration-options/#available-optionsLogLevel = 'DEBUG'ScanSchedule = '@every 24h'TranscodingCacheSize = '150MiB'# IMPORTANT: Use single quotes for paths in WindowsMusicFolder = 'C:\Users\JohnDoe\Music'# Set this to the path of your ffmpeg executableFFmpegPath = 'C:\Program Files\ffmpeg\bin\ffmpeg.exe'
# This is just an example! Please see available options to customize Navidrome for your needs at# https://www.navidrome.org/docs/usage/configuration-options/#available-optionsLogLevel = 'DEBUG'ScanSchedule = '@every 24h'TranscodingCacheSize = '150MiB'MusicFolder = '/Users/JohnDoe/Music'# This is the default path for Homebrew installed ffmpegFFmpegPath = '/usr/local/bin/ffmpeg'
# This is just an example! Please see available options to customize Navidrome for your needs at# https://www.navidrome.org/docs/usage/configuration-options/#available-optionsLogLevel = 'DEBUG'ScanSchedule = '@every 24h'TranscodingCacheSize = '150MiB'MusicFolder = '/mnt/music'

You can also specify a different path for the configuration file, using the -c/--configfile option.Navidrome can load the configuration from toml, json, yml and ini files.

The example below assume you have created a navidrome.toml file in your home directory:

  • Example:
  • Windows
  • macOs
  • Unix-based systems
C:\> navidrome --configfile "c:\User\JohnDoe\navidrome.toml"
$ navidrome --configfile "/User/JohnDoe/navidrome.toml"
$ navidrome --configfile "/home/johndoe/navidrome.toml"

Command Line Arguments

You can set most of the config options below passing arguments to navidrome executable.

The example below shows how to set the MusicFolder using the command line, assuming you have your music libraryunder your home directory:

  • Example:
  • Windows
  • macOs
  • Unix-based systems
C:\> navidrome --musicfolder "c:\User\JohnDoe\Music"
$ navidrome --musicfolder "/User/JohnDoe/Music"
$ navidrome --musicfolder "/mnt/music"

Please note that command line arguments must be all lowercase. For a list of all available command line options,just call navidrome --help.

Environment Variables

Any configuration option can be set as an environment variable, just add a the prefix ND_ andmake it all uppercase. Ex: ND_LOGLEVEL=debug. See below for all available options

Available Options

Basic configuration

In config fileAs an env varDescriptionDefault Value
ND_CONFIGFILELoad configurations from an external config file"./navidrome.toml"
MusicFolderND_MUSICFOLDERFolder where your music library is stored. Can be read-only"./music"
DataFolderND_DATAFOLDERFolder to store application data (DB)"./data"
CacheFolderND_CACHEFOLDERFolder to store cache data (transcoding, images…)"<DataFolder>/cache"
LogLevelND_LOGLEVELLog level. Useful for troubleshooting. Possible values: error, warn, info, debug, trace"info"
AddressND_ADDRESSAddress the server will bind to. Can be an IPv4 or IPv6. Also supports unix:/path/to/file for Unix socket files0.0.0.0 and :: (all IPs)
BaseUrlND_BASEURLBase URL to configure Navidrome behind a proxy (examples: /music, https://music.example.com)Empty
PortND_PORTHTTP port Navidrome will use4533

Advanced configuration

In config fileAs an environment variableDescriptionDefault Value
AlbumPlayCountModeND_ALBUMPLAYCOUNTMODEChange how album play count is computed. When set to "normalized", album play count will be divided by the number of album tracks"absolute"
AuthRequestLimit*ND_AUTHREQUESTLIMITHow many login requests can be processed from a single IP during the AuthWindowLength. Set to 0 to disable the limit rater5
AuthWindowLength*ND_AUTHWINDOWLENGTHWindow Length for the authentication rate limit"20s"
AutoImportPlaylistsND_AUTOIMPORTPLAYLISTSEnable/disable .m3u playlist auto-importtrue
ArtistArtPriority*ND_ARTISTARTPRIORITYConfigure the order to look for artist images.artist.*, album/artist.*, external
CoverArtPriority*ND_COVERARTPRIORITYConfigure the order to look for cover art images. Use special embedded value to get embedded images from the audio filescover.*, folder.*, front.*, embedded, external
CoverJpegQualityND_COVERJPEGQUALITYSet JPEG quality percentage for resized cover art images75
DefaultDownsamplingFormatND_DEFAULTDOWNSAMPLINGFORMATFormat to transcode to when client requests downsampling (specify maxBitrate without a format)opus
DefaultLanguageND_DEFAULTLANGUAGESets the default language used by the UI when logging in from a new browser. This value must match one of the file names in the resources/i18n. Ex: for Chinese Simplified it has to be zh-Hans (case sensitive)"en"
DefaultThemeND_DEFAULTTHEMESets the default theme used by the UI when logging in from a new browser. This value must match one of the options in the UIDark
EnableArtworkPrecacheND_ENABLEARTWORKPRECACHEEnable image pre-caching of new added musictrue
EnableCoverAnimationND_ENABLECOVERANIMATIONControls whether the player in the UI will animate the album cover (rotation)true
EnableDownloadsND_ENABLEDOWNLOADSEnable the option in the UI to download music/albums/artists/playlists from the servertrue
EnableExternalServicesND_ENABLEEXTERNALSERVICES.Set this to false to completely disable ALL external integrationstrue
EnableFavouritesND_ENABLEFAVOURITESEnable toggling “Heart”/“Loved” for songs/albums/artists in the UI (maps to “Star”/“Starred” in Subsonic Clients)true
EnableGravatarND_ENABLEGRAVATARUse Gravatar images as the user profile image. Needs the user’s email to be filledfalse
EnableLogRedactingND_ENABLELOGREDACTINGWhether or not sensitive information (like tokens and passwords) should be redacted (hidden) in the logstrue
EnableMediaFileCoverArt*ND_ENABLEMEDIAFILECOVERARTIf set to false, it will return the album CoverArt when a song CoverArt is requestedtrue
EnableReplayGainND_ENABLEREPLAYGAINEnable ReplayGain options in the UItrue
EnableSharingND_ENABLESHARINGEnable the Sharing featurefalse
EnableStarRatingND_ENABLESTARRATINGEnable 5-star ratings in the UItrue
EnableTranscodingConfig*ND_ENABLETRANSCODINGCONFIGEnables transcoding configuration in the UIfalse
EnableUserEditingND_ENABLEUSEREDITINGEnable regular users to edit their details and change their passwordtrue
FFmpegPathND_FFMPEGPATHPath to ffmpeg executable. Use it when Navidrome cannot find it, or you want to use a specific versionEmpty (search in the PATH)
GATrackingIDND_GATRACKINGIDSend basic info to your own Google Analytics account. Must be in the format UA-XXXXXXXXEmpty (disabled)
HTTPSecurityHeaders.CustomFrameOptionsValueND_HTTPSECURITYHEADERS_CUSTOMFRAMEOPTIONSVALUEAllows the X-Frame-Options header value to be set with a custom value. Ex: "SAMEORIGIN""DENY"
IgnoredArticlesND_IGNOREDARTICLESList of ignored articles when sorting/indexing artists"The El La Los Las Le Les Os As O A"
ImageCacheSizeND_IMAGECACHESIZESize of image (art work) cache. Set to "0" to disable cache"100MB"
Jukebox.EnabledND_JUKEBOX_ENABLEDEnable Jukebox mode (play audio on server’s hardware) Click here for detailsfalse
Jukebox.AdminOnlyND_JUKEBOX_ADMINONLYBy default, Jukebox mode is only available to Admins. Set this option to false to allow any valid user to control ittrue
Jukebox.Devices(cannot be set as an environment variable)List of devices that can be used by the Jukebox. Click here for detailsEmpty (auto detect)
Jukebox.DefaultND_JUKEBOX_DEFAULTDevice to use for Jukebox mode, if there are multiple Jukebox.Devices entries. Click here for detailsEmpty (auto detect)
LastFM.EnabledND_LASTFM_ENABLEDSet this to false to completely disable Last.fm integrationtrue
LastFM.ApiKey*ND_LASTFM_APIKEYLast.fm API KeyEmpty
LastFM.Secret*ND_LASTFM_SECRETLast.fm API SecretEmpty
LastFM.LanguageND_LASTFM_LANGUAGETwo letter-code for language to be used to retrieve biographies from Last.fm"en"
ListenBrainz.BaseURLND_LISTENBRAINZ_BASEURLSet this to override the default ListenBrainz base URL (useful with self-hosted solutions like Maloja*https://api.listenbrainz.org/1/
ListenBrainz.EnabledND_LISTENBRAINZ_ENABLEDSet this to false to completely disable ListenBrainz integrationtrue
MaxSidebarPlaylistsND_MAXSIDEBARPLAYLISTSSet the maximum number of playlists shown in the UI’s sidebar. Note that a very large number can cause UI performance issues.100
MPVPathND_MPVPATHPath to mpv executable. Used for Jukebox modeEmpty (search in PATH)
MPVCmdTemplateND_MPVCMDTEMPLATECmd template used to construct the call of the mpv executable. Used for Jukebox modempv --audio-device=%d --no-audio-display --pause %f --input-ipc-server=%s
PasswordEncryptionKey*ND_PASSWORDENCRYPTIONKEYPassphrase used to encrypt passwords in the DB. Click here for details-
PlaylistsPathND_PLAYLISTSPATHWhere to search for and import playlists from. Can be a list of folders/globs (separated by : (or ; on Windows). Paths MUST be relative to MusicFolder".:**/**" (meaning MusicFolder and all its subfolders)
PreferSortTagsND_PREFERSORTTAGSUse Sort_* tags to sort columns in the UI.false
Prometheus.EnabledND_PROMETHEUS_ENABLEDEnable extra endpoint with Prometheus metrics.false
Prometheus.MetricsPathND_PROMETHEUS_METRICSPATHCustom path for Prometheus metrics. Useful for blocking unauthorized metrics requests."/metrics"
RecentlyAddedByModTimeND_RECENTLYADDEDBYMODTIMEUses music files’ modification time when sorting by “Recently Added”. Otherwise use import timefalse
ReverseProxyUserHeader*ND_REVERSEPROXYUSERHEADERHTTP header containing user name from authenticated proxy"Remote-User"
ReverseProxyWhitelist*ND_REVERSEPROXYWHITELISTComma separated list of IP CIDRs which are allowed to use reverse proxy authentication, empty means “deny all”Empty
Scanner.Extractor*ND_SCANNER_EXTRACTORSelect metadata extractor implementation. Options: taglib or ffmpeg"taglib"
Scanner.GenreSeparatorsND_SCANNER_GENRESEPARATORSList of separators to split genre tags";/,"
Scanner.GroupAlbumReleasesND_SCANNER_GROUPALBUMRELEASES“true” groups albums with the same Artist + Album Title as one album; “false” splits re-issues (=different Release Date) into separate albumsfalse
ScanScheduleND_SCANSCHEDULEConfigure periodic scans using “cron” syntax. To disable it altogether, set it to "0""@every 1m"
SearchFullStringND_SEARCHFULLSTRINGMatch query strings anywhere in searchable fields, not only in word boundaries. Useful for languages where words are not space separatedfalse
SessionTimeoutND_SESSIONTIMEOUTHow long Navidrome will wait before closing web ui idle sessions"24h"
Spotify.ID*ND_SPOTIFY_IDSpotify Client ID. Required if you want Artist imagesEmpty
Spotify.Secret*ND_SPOTIFY_SECRETSpotify Client Secret. Required if you want Artist imagesEmpty
SubsonicArtistParticipationsND_SUBSONICARTISTPARTICIPATIONSWhen requesting artist’s albums, include albums where the artist participates (ex: Various Artists compilations)false
TLSCertND_TLSCERTPath for the TLS certificate file, which should include the signature chain if anyEmpty (disable TLS)
TLSKeyND_TLSKEYPath for the TLS key fileEmpty (disable TLS)
TranscodingCacheSizeND_TRANSCODINGCACHESIZESize of transcoding cache. Set to "0" to disable cache"100MB"
UILoginBackgroundUrlND_UILOGINBACKGROUNDURLChange background image used in the Login pagerandom music image from Unsplash.com
UIWelcomeMessageND_UIWELCOMEMESSAGEAdd a welcome message to the login screenEmpty
UnixSocketPermND_UNIXSOCKETPERMSet file permissions for Unix Socket File.*"0660"

Notes

  • Durations are specified as a number and a unit suffix, such as “24h”, “30s” or “1h10m”. Validtime units are “s”, “m”, “h”.
  • Sizes are specified as a number and an optional unit suffix, such as “1GB” or “150 MiB”. Defaultunit is bytes. Note: “1KB” == “1000”, “1KiB” == “1024”
  • Transcoding can be required in some situations. For example: trying to playa WMA file in a webbrowser, will only work for nativelysupported formats by the browser you are using. (so playing that with Mozilla Firefox on Linux, will not work. Mozillaeven has their own guide about audiocodecs).

Feedback

Was this page helpful?

Glad to hear it! Please tell us how we can make it even better.

Sorry to hear that. Please tell us how we can improve.


Last modified August 26, 2024: Corrected spelling errors (#175) (ec27199)

Navidrome Configuration Options (2024)

FAQs

What is the configuration file for Navidrome Docker? ›

If you want to use a configuration file with Navidrome running in Docker, you can create a navidrome. toml config file in the /data folder and set the option ND_CONFIGFILE=/data/navidrome. toml .

Can Navidrome play Flac? ›

After transcoding is configured in Navidrome, neither format can be transcoded. It's just that flac can be streamed directly so it can be played directly. After the maximum bit rate is limited in the APP settings, both formats will be transcoded to opus.

What is the server address for Navidrome? ›

The demo server works with all Subsonic clients, just use the server address https://demo.navidrome.org with the credentials above.

How do I change the directory in Navidrome? ›

You can change the media directory of an existing installation by executing app-navidrome upgrade -d /path/to/other/directory via SSH. Install Navidrome from the Installers tab on the User Control Panel. Make sure to choose a strong password.

How to change Docker configuration? ›

To change the configuration, either edit the JSON configuration directly from the dashboard in Docker Desktop, or open and edit the file using your favorite text editor. To see the full list of possible configuration options, see the dockerd command reference.

What is the default Docker config path? ›

In Windows containers, configs are all mounted into C:\ProgramData\Docker\configs and symbolic links are created to the desired location, which defaults to C:\<config-name> .

What is the highest audio quality FLAC? ›

HiRes FLAC is the distinction we make for any Free Lossless Audio Codec (FLAC) file that is greater than 16-bit, 44.1 kHz, which is the standard CD quality. HiRes FLAC on TIDAL can deliver superior sound in files as large as 24-bit, 192 kHz.

Is Navidrome free? ›

Navidrome is open source software distributed free of charge under the terms of the GNU GPL v3 license.

Is FLAC worth it over MP3? ›

Home audio systems: If you have a high-quality home audio system, using FLAC files can significantly improve audio quality compared to lossy formats like MP3. FLAC's lossless compression allows your audio system to perform at its best, delivering a more immersive listening experience.

Is Navidrome open source? ›

Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device.

What is airsonic? ›

Airsonic is a free, web-based media streamer, providing ubiquitous access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.

How to open Navidrome? ›

Open a web browser and navigate to http://localhost:4533 to access the Navidrome web interface. You can now upload your music library, configure settings, and start streaming your music collection on any device with a web browser.

How do I change directory settings? ›

Type in cd followed by a space.

This command, which stands for "change directory", is the root of any directory change. Don't press the "Enter" key just yet. Alternatively, you can type chdir .

How do I change directory mode? ›

To change file and directory permissions, use the command chmod (change mode). The owner of a file can change the permissions for user ( u ), group ( g ), or others ( o ) by adding ( + ) or subtracting ( - ) the read, write, and execute permissions.

How do I change to a different directory? ›

Here's one method that requires very little typing:
  1. Type cd and then press Space.
  2. Drag and drop the folder you want to browse into the window. For example, if we drag the Downloads folder, the prompt might say this: cd C:\Users\name\Downloads.
  3. Press Enter to change the working directory to that folder.
May 30, 2024

What is the Docker config file? ›

Docker Configs are a resource in Docker for storing non-sensitive information such as configuration files, separate from a service's image or running containers within Docker Swarm environments.

Where is the gitea Docker config file? ›

The configuration file will be saved at /data/gitea/conf/app. ini after the installation.

What file is used to configure the Docker daemon? ›

The preferred method for configuring the Docker Engine on Windows is using a configuration file. The configuration file can be found at 'C:\ProgramData\Docker\config\daemon. json'. You can create this file if it doesn't already exist.

Where is the configuration file for Zigbee2MQTT? ›

Zigbee2MQTT is configured using YAML based configuration.yaml file. The file have to be located in the data directory within your installation. The data directory and the configuration.yaml has to be writeable for Zigbee2MQTT process because it can get updated - e.g. if you change the settings in the frontend.

Top Articles
Savory Baked Brie Appetizer With Sun Dried Tomatoes Recipe
Authentic Hungarian Goulash Recipe – The Bossy Kitchen
Minooka Channahon Patch
Stretchmark Camouflage Highland Park
Unity Stuck Reload Script Assemblies
Nc Maxpreps
Victoria Secret Comenity Easy Pay
Barstool Sports Gif
Catsweb Tx State
Infinite Campus Parent Portal Hall County
South Ms Farm Trader
Shooting Games Multiplayer Unblocked
Evil Dead Rise Showtimes Near Regal Columbiana Grande
National Office Liquidators Llc
Dr. med. Uta Krieg-Oehme - Lesen Sie Erfahrungsberichte und vereinbaren Sie einen Termin
Procore Championship 2024 - PGA TOUR Golf Leaderboard | ESPN
Adam4Adam Discount Codes
Las 12 mejores subastas de carros en Los Ángeles, California - Gossip Vehiculos
Nine Perfect Strangers (Miniserie, 2021)
Glenda Mitchell Law Firm: Law Firm Profile
Aol News Weather Entertainment Local Lifestyle
6 Most Trusted Pheromone perfumes of 2024 for Winning Over Women
Jermiyah Pryear
Milwaukee Nickname Crossword Clue
Craigslist Rome Ny
Unity Webgl Car Tag
Craigslist Comes Clean: No More 'Adult Services,' Ever
O'reilly's In Monroe Georgia
Otis Inmate Locator
UPC Code Lookup: Free UPC Code Lookup With Major Retailers
The Menu Showtimes Near Amc Classic Pekin 14
3 Bedroom 1 Bath House For Sale
Sun Haven Pufferfish
The Wichita Beacon from Wichita, Kansas
Devin Mansen Obituary
Instafeet Login
Elizaveta Viktorovna Bout
Dollar Tree's 1,000 store closure tells the perils of poor acquisitions
Directions To Advance Auto
Craigslist Pets Plattsburgh Ny
Clima De 10 Días Para 60120
Craigslist Malone New York
Kent And Pelczar Obituaries
Promo Code Blackout Bingo 2023
Expendables 4 Showtimes Near Malco Tupelo Commons Cinema Grill
Uc Davis Tech Management Minor
Greg Steube Height
Laura Houston Wbap
Craigslist Anc Ak
Call2Recycle Sites At The Home Depot
Unbiased Thrive Cat Food Review In 2024 - Cats.com
Qvc Com Blogs
Latest Posts
Article information

Author: Domingo Moore

Last Updated:

Views: 6356

Rating: 4.2 / 5 (73 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Domingo Moore

Birthday: 1997-05-20

Address: 6485 Kohler Route, Antonioton, VT 77375-0299

Phone: +3213869077934

Job: Sales Analyst

Hobby: Kayaking, Roller skating, Cabaret, Rugby, Homebrewing, Creative writing, amateur radio

Introduction: My name is Domingo Moore, I am a attractive, gorgeous, funny, jolly, spotless, nice, fantastic person who loves writing and wants to share my knowledge and understanding with you.