package main import ( "log" "os" "github.com/spf13/viper" ) func readConfigFile() { log.Println("Reading Config") viper.SetConfigFile("/etc/podterminal/config.yaml") viper.SetDefault("port", 80) viper.SetDefault("ip_addr", "0.0.0.0") viper.SetDefault("image", "lscr.io/linuxserver/webtop") viper.SetDefault("maxAge", 10800) viper.SetDefault("dri", false) viper.SetDefault("dir_node", "/dev/dri/renderD128") viper.SetDefault("skel", "/etc/podterminal/skel.tar.gz") viper.SetDefault("block_filebrowser", false) viper.SetDefault("envvars", map[string]string{ "CUSTOM_USER": "user", "PASSWORD": "", "TITLE": "Podterminal", }, ) if _, err := os.Stat("/etc/podterminal/config.yaml"); os.IsNotExist(err) { log.Println("Config file does not exist, creating") os.MkdirAll("/etc/podterminal", 755) err := viper.WriteConfig() if err != nil { log.Fatalln("could not write default config", err) } } err := viper.ReadInConfig() if err != nil { log.Fatalln("could not read config file", err) } log.Println("Finished reading Config") }