// Beach is a one-page control panel for a homelab: containers, disks, host load and tunnels. package main import ( "flag" "log" "net/http" "time" "beach/internal/beach" ) func main() { listen := flag.String("listen", ":8095", "address to listen on") data := flag.String("data", "beach.db", "path of the SQLite file") flag.Parse() st, err := beach.OpenStore(*data) if err != nil { log.Fatal(err) } defer st.Close() srv := &http.Server{Addr: *listen, Handler: beach.NewServer(st), ReadHeaderTimeout: 10 * time.Second} log.Printf("Beach listening on %s (data: %s)", *listen, *data) log.Fatal(srv.ListenAndServe()) }