91 lines
1.6 KiB
Go
91 lines
1.6 KiB
Go
package utils
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
|
|
"github.com/joho/godotenv"
|
|
)
|
|
|
|
var (
|
|
HOST string
|
|
PORT string
|
|
HTTPS string
|
|
PROXY bool
|
|
URL string
|
|
REDIS_URI string
|
|
ESTATS string
|
|
)
|
|
|
|
func Init_env_file() {
|
|
err := godotenv.Load()
|
|
if err != nil {
|
|
fmt.Println("INFO: ", "Error loading .env file using environment variables")
|
|
}
|
|
}
|
|
|
|
func Init_env_vars() {
|
|
fmt.Println("-- Initializing environment variables... --")
|
|
|
|
UHOST, err := os.LookupEnv("HOST")
|
|
if !err {
|
|
log.Fatal("HOST enviroment variable not found, please set it!")
|
|
}
|
|
HOST = UHOST
|
|
fmt.Println("HOST: ", HOST)
|
|
|
|
UHTTPS, _ := os.LookupEnv("HTTPS")
|
|
if UHTTPS != "true" {
|
|
HTTPS = "http"
|
|
} else {
|
|
HTTPS = "https"
|
|
}
|
|
fmt.Println("Proto: ", HTTPS)
|
|
|
|
UPROXY, _ := os.LookupEnv("PROXY")
|
|
if UPROXY != "true" {
|
|
PROXY = false
|
|
} else {
|
|
PROXY = true
|
|
}
|
|
fmt.Println("Own reverse proxy: ", PROXY)
|
|
|
|
UPORT, err := os.LookupEnv("PORT")
|
|
if !err {
|
|
PORT = "3000"
|
|
} else {
|
|
PORT = UPORT
|
|
}
|
|
fmt.Println("Port: ", PORT)
|
|
|
|
UREDIS_URI, err := os.LookupEnv("REDIS_URI")
|
|
if !err {
|
|
REDIS_URI = "redis:6379"
|
|
} else {
|
|
REDIS_URI = UREDIS_URI
|
|
}
|
|
fmt.Println("Redis URI: ", REDIS_URI)
|
|
|
|
UESTATS, _ := os.LookupEnv("ENABLE_STATS")
|
|
if UESTATS != "false" {
|
|
ESTATS = "true"
|
|
} else {
|
|
ESTATS = "false"
|
|
}
|
|
fmt.Println("Stats enabled: ", ESTATS)
|
|
|
|
create_string()
|
|
|
|
}
|
|
|
|
func create_string() {
|
|
if !PROXY {
|
|
URL = HTTPS + "://" + HOST + ":" + PORT + "/"
|
|
} else {
|
|
URL = HTTPS + "://" + HOST + "/"
|
|
}
|
|
|
|
fmt.Println("URL: ", URL)
|
|
fmt.Println("-- Environment variables initialized! / Starting Webserver --")
|
|
}
|