package main import ( "log" "me-fit/utils" "database/sql" "log/slog" "net/http" "github.com/joho/godotenv" _ "github.com/mattn/go-sqlite3" "github.com/prometheus/client_golang/prometheus/promhttp" ) func main() { slog.Info("Starting server...") err := godotenv.Load() if err != nil { log.Fatal("Error loading .env file") } utils.MustInitEnv() db, err := sql.Open("sqlite3", "./data.db") if err != nil { log.Fatal("Could not open Database data.db: ", err) } defer db.Close() utils.MustRunMigrations(db) startPrometheus() var server = http.Server{ Addr: ":8080", Handler: getHandler(db), } slog.Info("Starting server on " + server.Addr) err = server.ListenAndServe() if err != nil { panic(err) } } func startPrometheus() { var prometheusServer = http.Server{ Addr: ":8081", Handler: promhttp.Handler(), } go func() { slog.Info("Starting prometheus server on " + prometheusServer.Addr) err := prometheusServer.ListenAndServe() if err != nil { log.Fatal("Could not start prometheus server: ", err) } }() }