pegasus/backend/config.go

47 lines
837 B
Go
Raw Permalink Normal View History

2026-04-11 00:02:59 -03:00
// backend/config.go
package main
import (
"path/filepath"
"scm.bstein.dev/bstein/Pegasus/backend/internal"
)
type appConfig struct {
mediaRoot string
userMapFile string
tusDir string
jf jellyfinClient
}
func loadAppConfig() appConfig {
mediaRoot := env("PEGASUS_MEDIA_ROOT", "/media")
return appConfig{
mediaRoot: mediaRoot,
userMapFile: env("PEGASUS_USER_MAP_FILE", "/config/user-map.yaml"),
tusDir: env("PEGASUS_TUS_DIR", filepath.Join(mediaRoot, ".pegasus-tus")),
jf: internal.NewJellyfin(),
}
}
var (
mediaRoot string
userMapFile string
tusDir string
jf jellyfinClient
)
var (
version = "dev"
git = ""
builtAt = ""
)
func init() {
cfg := loadAppConfig()
mediaRoot = cfg.mediaRoot
userMapFile = cfg.userMapFile
tusDir = cfg.tusDir
jf = cfg.jf
}