package main import ( "flag" "log" "net/http" "0xacab.org/meskio/cicer/api" "github.com/gorilla/mux" "github.com/olivere/env" ) func main() { var ( dbPath = flag.String("db-path", env.String("./test.db", "DB_PATH"), "Path where the sqlite will be located {DB_PATH}") addr = flag.String("addr", env.String(":8080", "HTTP_ADDR", "ADDR"), "Address where the http server will bind {HTTP_ADDR}") signKey = flag.String("signkey", env.String("", "SIGNKEY"), "Sign key for authentication tokens. DO NOT LEAVE UNSET!!! {SIGNKEY}") assets = flag.String("assets", env.String("./build", "ASSETS_PATH"), "Path to the assets (js, html, ...) {ASSETS_PATH}") ) flag.Parse() log.Println("listening in address:", *addr) r := mux.NewRouter() apiRouter := r.PathPrefix("/api/").Subrouter() err := api.Init(*dbPath, *signKey, apiRouter) if err != nil { log.Panicln("Can't open the database:", err) } log.Println("assets:", *assets) r.PathPrefix("/").Handler(http.FileServer(http.Dir(*assets))) log.Fatal(http.ListenAndServe(*addr, r)) }