feat: add conf for data folder, default current folder (not ./data anymore)

This commit is contained in:
Deluan 2020-01-26 16:42:56 -05:00
parent 828dc8f0f4
commit f9db80c409
6 changed files with 16 additions and 8 deletions

1
.gitignore vendored
View File

@ -14,6 +14,7 @@ navidrome.toml
master.zip master.zip
Jamstash-master Jamstash-master
testDB testDB
navidrome.db
*.swp *.swp
*_gen.go *_gen.go
dist dist

View File

@ -44,7 +44,7 @@ COPY --from=gobuilder /tmp/ffmpeg*/ffmpeg /usr/bin/
VOLUME ["/data", "/music"] VOLUME ["/data", "/music"]
ENV ND_MUSICFOLDER /music ENV ND_MUSICFOLDER /music
ENV ND_DBPATH /data/navidrome.db ENV ND_DATAFOLDER /data
ENV ND_SCANINTERVAL 1m ENV ND_SCANINTERVAL 1m
ENV ND_LOGLEVEL info ENV ND_LOGLEVEL info
ENV ND_PORT 4533 ENV ND_PORT 4533

View File

@ -56,7 +56,7 @@ services:
environment: environment:
# All options with their default values: # All options with their default values:
ND_MUSICFOLDER: /music ND_MUSICFOLDER: /music
ND_DBPATH: /data/navidrome.db ND_DATAFOLDER: /data
ND_SCANINTERVAL: 1m ND_SCANINTERVAL: 1m
ND_LOGLEVEL: info ND_LOGLEVEL: info
ND_PORT: 4533 ND_PORT: 4533

View File

@ -2,7 +2,9 @@ package conf
import ( import (
"flag" "flag"
"fmt"
"os" "os"
"path/filepath"
"github.com/deluan/navidrome/consts" "github.com/deluan/navidrome/consts"
"github.com/deluan/navidrome/log" "github.com/deluan/navidrome/log"
@ -12,7 +14,8 @@ import (
type nd struct { type nd struct {
Port string `default:"4533"` Port string `default:"4533"`
MusicFolder string `default:"./music"` MusicFolder string `default:"./music"`
DbPath string `default:"./data/navidrome.db"` DataFolder string `default:"./"`
DbPath string
LogLevel string `default:"info"` LogLevel string `default:"info"`
IgnoredArticles string `default:"The El La Los Las Le Les Os As O A"` IgnoredArticles string `default:"The El La Los Las Le Les Os As O A"`
@ -30,13 +33,17 @@ type nd struct {
var Server = &nd{} var Server = &nd{}
func LoadFromFile(tomlFile string) { func LoadFromFile(confFile string) {
m := multiconfig.NewWithPath(tomlFile) m := multiconfig.NewWithPath(confFile)
err := m.Load(Server) err := m.Load(Server)
if err == flag.ErrHelp { if err == flag.ErrHelp {
os.Exit(1) os.Exit(1)
} }
log.SetLogLevelString(Server.LogLevel) if Server.DbPath == "" {
Server.DbPath = filepath.Join(Server.DataFolder, "navidrome.db")
}
log.SerLevelString(Server.LogLevel)
log.Trace("Loaded configuration", "file", confFile, "config", fmt.Sprintf("%#v", Server))
} }
func Load() { func Load() {

View File

@ -35,7 +35,7 @@ func SetLevel(l Level) {
logrus.SetLevel(logrus.Level(l)) logrus.SetLevel(logrus.Level(l))
} }
func SetLogLevelString(l string) { func SerLevelString(l string) {
envLevel := strings.ToLower(l) envLevel := strings.ToLower(l)
var level Level var level Level
switch envLevel { switch envLevel {

View File

@ -31,7 +31,7 @@ func New() model.DataStore {
if dbPath == ":memory:" { if dbPath == ":memory:" {
dbPath = "file::memory:?cache=shared" dbPath = "file::memory:?cache=shared"
} }
log.Debug("Opening DB from: "+dbPath, "driver", driver) log.Debug("Opening DataBase", "dbPath", dbPath, "driver", driver)
err := initORM(dbPath) err := initORM(dbPath)
if err != nil { if err != nil {