From 51ca2dee65c2023c8008edd2a665be434b9b5831 Mon Sep 17 00:00:00 2001 From: Deluan Date: Tue, 9 Dec 2025 19:40:46 -0500 Subject: [PATCH] fix: log environment variable configuration loading when no config file is found Signed-off-by: Deluan --- conf/configuration.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/conf/configuration.go b/conf/configuration.go index 79e5780e4..774f25fe0 100644 --- a/conf/configuration.go +++ b/conf/configuration.go @@ -344,6 +344,8 @@ func Load(noConfigDump bool) { // Log configuration source if Server.ConfigFile != "" { log.Info("Loaded configuration", "file", Server.ConfigFile) + } else if hasNDEnvVars() { + log.Info("No configuration file found. Loaded configuration only from environment variables") } else { log.Warn("No configuration file found. Using default values. To specify a config file, use the --configfile flag or set the ND_CONFIGFILE environment variable.") } @@ -502,6 +504,16 @@ func AddHook(hook func()) { hooks = append(hooks, hook) } +// hasNDEnvVars checks if any ND_ prefixed environment variables are set (excluding ND_CONFIGFILE) +func hasNDEnvVars() bool { + for _, env := range os.Environ() { + if strings.HasPrefix(env, "ND_") && !strings.HasPrefix(env, "ND_CONFIGFILE=") { + return true + } + } + return false +} + func setViperDefaults() { viper.SetDefault("musicfolder", filepath.Join(".", "music")) viper.SetDefault("cachefolder", "")