this repo has no description
1package main
2
3import (
4 "context"
5 "fmt"
6 "log"
7 "log/slog"
8 "net/http"
9 "os"
10 "os/signal"
11 "syscall"
12
13 "github.com/icyphox/bild/knotserver"
14 "github.com/icyphox/bild/knotserver/config"
15)
16
17func main() {
18 ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
19 defer stop()
20
21 slog.SetDefault(slog.New(slog.NewTextHandler(os.Stdout, nil)))
22
23 c, err := config.Load(ctx)
24 if err != nil {
25 log.Fatal(err)
26 }
27 // db, err := db.Setup(c.Server.DBPath)
28 // if err != nil {
29 // log.Fatalf("failed to setup db: %s", err)
30 // }
31
32 mux, err := knotserver.Setup(c, nil)
33 if err != nil {
34 log.Fatal(err)
35 }
36
37 addr := fmt.Sprintf("%s:%d", c.Host, c.Port)
38
39 log.Println("starting main server on", addr)
40 log.Fatal(http.ListenAndServe(addr, mux))
41}