diff options
Diffstat (limited to 'cmd/home/main.go')
| -rw-r--r-- | cmd/home/main.go | 40 |
1 files changed, 9 insertions, 31 deletions
diff --git a/cmd/home/main.go b/cmd/home/main.go index 9585266..9dc5cc6 100644 --- a/cmd/home/main.go +++ b/cmd/home/main.go @@ -1,54 +1,32 @@ package main import ( - "context" - "errors" "os" "os/signal" "syscall" - "time" - "git.sr.ht/~a73x/home/tui" "git.sr.ht/~a73x/home/web" - - "github.com/charmbracelet/log" - "github.com/charmbracelet/ssh" -) - -const ( - port = "2222" + "go.uber.org/zap" ) func main() { - host := os.Getenv("DOMAIN") - if host == "" { - host = "localhost" + logger, _ := zap.NewProduction() + server, err := web.New(logger) + if err != nil { + logger.Fatal("failed to start webserver", zap.Error(err)) } - server, err := web.New() - - s, err := tui.New(host, port) done := make(chan os.Signal, 1) signal.Notify(done, os.Interrupt, syscall.SIGINT, syscall.SIGTERM) - log.Info("Starting SSH server", "host", host, "port", port) + logger.Info("Starting web server") + go func() { if err := server.ListenAndServe(); err != nil { - log.Error("fail running web server", "error", err) + logger.Error("fail running web server", zap.Error(err)) } done <- nil }() - go func() { - if err = s.ListenAndServe(); err != nil && !errors.Is(err, ssh.ErrServerClosed) { - log.Error("Could not start server", "error", err) - done <- nil - } - }() <-done - log.Info("Stopping SSH server") - ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) - defer func() { cancel() }() - if err := s.Shutdown(ctx); err != nil && !errors.Is(err, ssh.ErrServerClosed) { - log.Error("Could not stop server", "error", err) - } + logger.Info("Stopping web server") } |
