From dcd23596f75b11587847e6c4f507572a66080d8f Mon Sep 17 00:00:00 2001 From: Brice LE BOULC'H Date: Wed, 12 Dec 2018 10:31:00 +0100 Subject: [PATCH] Manage default user with env variables --- lib/filebrowser.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) mode change 100644 => 100755 lib/filebrowser.go diff --git a/lib/filebrowser.go b/lib/filebrowser.go old mode 100644 new mode 100755 index caad4357..45a9df7d --- a/lib/filebrowser.go +++ b/lib/filebrowser.go @@ -19,6 +19,7 @@ import ( "github.com/hacdias/fileutils" "github.com/mholt/caddy" "github.com/robfig/cron" + "github.com/spf13/viper" ) const ( @@ -205,14 +206,18 @@ func (m *FileBrowser) Setup() error { // If there are no users in the database, it creates a new one // based on 'base' User that must be provided by the function caller. if len(users) == 0 { - u := *m.DefaultUser - u.Username = "admin" + viper.SetDefault("DEFAULT_USERNAME", "admin") // Hashes the password. - u.Password, err = HashPassword("admin") + defaultPassword, err = HashPassword("admin") if err != nil { return err } + viper.SetDefault("DEFAULT_PASSWORD_HASH", defaultPassword) + + u := *m.DefaultUser + u.Username = viper.GetString("DEFAULT_USERNAME") + u.Password = viper.GetString("DEFAULT_PASSWORD_HASH") // The first user must be an administrator. u.Admin = true