Files
TermorServer/internal/config/config.go
benya 2f7034fae2 feat: extract embedded album artwork during scans
Add a dedicated artwork cache directory and save embedded album art from audio tags during library scans. Prefer embedded artwork for album cover resolution while keeping sidecar image files as the fallback path.
2026-04-02 22:43:11 +03:00

42 lines
1.0 KiB
Go

package config
import "os"
type Config struct {
AppEnv string
ServerHost string
ServerPort string
DatabasePath string
ArtworkCacheDir string
MediaRoot string
CORSOrigins string
DefaultAdminUsername string
DefaultAdminPassword string
}
func Load() Config {
return Config{
AppEnv: getenv("APP_ENV", "development"),
ServerHost: getenv("SERVER_HOST", "0.0.0.0"),
ServerPort: getenv("SERVER_PORT", "4040"),
DatabasePath: getenv("DATABASE_PATH", "./data/app.db"),
ArtworkCacheDir: getenv("ARTWORK_CACHE_DIR", "./data/artwork"),
MediaRoot: getenv("MEDIA_ROOT", "./media"),
CORSOrigins: getenv("CORS_ORIGINS", "http://localhost:5173"),
DefaultAdminUsername: getenv("DEFAULT_ADMIN_USERNAME", "demo"),
DefaultAdminPassword: getenv("DEFAULT_ADMIN_PASSWORD", "demo"),
}
}
func (c Config) Address() string {
return c.ServerHost + ":" + c.ServerPort
}
func getenv(key, fallback string) string {
value := os.Getenv(key)
if value == "" {
return fallback
}
return value
}