ShortDragon/internal/config/config.go

36 lines
1 KiB
Go

package config
import (
"log"
"github.com/spf13/viper"
)
// LoadConfig loads the config, or if no one present, initzializes default values
func LoadConfig() {
viper.SetDefault("DBType", "sqlite3")
viper.SetDefault("DBConnection", ":memory:")
viper.SetDefault("UseSocket", false)
viper.SetDefault("BindAddress", ":8080")
viper.SetDefault("BindSocket", "/var/run/shortdragon.sock")
viper.SetDefault("DefaultURL", "https://1750studios.com")
viper.SetDefault("ShortURL", "https://1750.st")
viper.SetDefault("FileFolder", "/home/ezazzan/.shortdragon/files")
viper.SetDefault("XAccel", false)
viper.SetDefault("XAccelPrefix", "")
viper.SetDefault("MinAge", 30) // days
viper.SetDefault("MaxAge", 365) // days
viper.SetDefault("MaxSize", 524288000) // bytes (500MiB)
viper.SetConfigName("config")
viper.AddConfigPath("/etc/shortdragon/")
viper.AddConfigPath("$HOME/.shortdragon/")
viper.AddConfigPath(".")
err := viper.ReadInConfig()
if err != nil {
log.Fatal("Could not read config: ", err)
}
}