allow to set default user with env vars (#591)

Former-commit-id: e0e798642757d7a5017fccf0edd4d65a4181359f [formerly b354327fac46e7b721e2baf6fef5877944afb400] [formerly 3ef64ca1637c2145fd4a776f26afbd1b426d5098 [formerly 0b66d700e8]]
Former-commit-id: 192b543db9d3707eedd8745833020d603fe64c21 [formerly b7b034bd96ff63d185ccf9cd20cbc7673eed7de1]
Former-commit-id: 4fca72efa7aac242fec991da5330e78ef455d12e
pull/726/head
1138-4EB 2019-01-01 03:18:58 +01:00 committed by GitHub
parent b5ee82c943
commit 901dc2c160
1 changed files with 8 additions and 3 deletions

11
lib/filebrowser.go Normal file → Executable file
View File

@ -19,6 +19,7 @@ import (
"github.com/hacdias/fileutils" "github.com/hacdias/fileutils"
"github.com/mholt/caddy" "github.com/mholt/caddy"
"github.com/robfig/cron" "github.com/robfig/cron"
"github.com/spf13/viper"
) )
const ( const (
@ -205,14 +206,18 @@ func (m *FileBrowser) Setup() error {
// If there are no users in the database, it creates a new one // 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. // based on 'base' User that must be provided by the function caller.
if len(users) == 0 { if len(users) == 0 {
u := *m.DefaultUser viper.SetDefault("DEFAULT_USERNAME", "admin")
u.Username = "admin"
// Hashes the password. // Hashes the password.
u.Password, err = HashPassword("admin") defaultPassword, err := HashPassword("admin")
if err != nil { if err != nil {
return err 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. // The first user must be an administrator.
u.Admin = true u.Admin = true