Files
Maintainarr/internal/config/config.go
GigabiteStudios 20103d9793
Some checks failed
Verify / verify (push) Failing after 17s
feat(logs): archive command history daily
2026-06-20 20:05:16 -05:00

43 lines
1.1 KiB
Go

package config
import (
"os"
"path/filepath"
)
type Config struct {
Address string
DatabasePath string
LogArchiveDir string
SessionKey string
EncryptionKey string
OrgName string
BaseURL string
DefaultTheme string
DefaultMode string
RefreshCron string
}
func Load() Config {
return Config{
Address: env("MAINTAINARR_ADDR", ":8080"),
DatabasePath: env("MAINTAINARR_DB_PATH", filepath.Join("data", "maintainarr.db")),
LogArchiveDir: env("MAINTAINARR_LOG_ARCHIVE_DIR", filepath.Join("data", "log-archives")),
SessionKey: env("MAINTAINARR_SESSION_KEY", "change-me-session-key-please"),
EncryptionKey: env("MAINTAINARR_ENCRYPTION_KEY", "change-me-encryption-key-32bytes"),
OrgName: env("MAINTAINARR_ORG_NAME", "Maintainarr"),
BaseURL: env("MAINTAINARR_BASE_URL", "http://localhost:8080"),
DefaultTheme: env("MAINTAINARR_THEME", "dark"),
DefaultMode: env("MAINTAINARR_THEME_MODE", "dark"),
RefreshCron: env("MAINTAINARR_REFRESH_CRON", "@every 5s"),
}
}
func env(key, fallback string) string {
if value := os.Getenv(key); value != "" {
return value
}
return fallback
}