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) } }