package main import ( "flag" "log" "net" "net/http" "strconv" "go.alanpearce.eu/elgit/config" "go.alanpearce.eu/elgit/routes" ) func main() { var cfg string flag.StringVar(&cfg, "config", "./config.yaml", "path to config file") flag.Parse() log.SetFlags(log.Lshortfile) c, err := config.Read(cfg) if err != nil { log.Fatal(err) } if err := UnveilPaths([]string{ c.Dirs.Static, c.Repo.Root, }, "r"); err != nil { log.Fatalf("unveil: %s", err) } mux := routes.Handlers(c) addr := net.JoinHostPort(c.Server.Host, strconv.FormatInt(int64(c.Server.Port), 10)) log.Println("starting server on", addr) log.Fatal(http.ListenAndServe(addr, mux)) }