package main import ( "fmt" "log" "net/http" "os" "github.com/vandachevici/ha-sync/internal/db" "github.com/vandachevici/ha-sync/internal/ui" ) func main() { dsn := os.Getenv("HA_SYNC_DB_DSN") if dsn == "" { fmt.Fprintln(os.Stderr, "HA_SYNC_DB_DSN environment variable is required") os.Exit(1) } port := os.Getenv("HA_SYNC_UI_PORT") if port == "" { port = "8080" } sqlDB, err := db.Connect(dsn) if err != nil { log.Fatalf("failed to connect to database: %v", err) } defer sqlDB.Close() handler := ui.NewServer(sqlDB).Handler() addr := ":" + port log.Printf("ha-sync-ui listening on %s", addr) if err := http.ListenAndServe(addr, handler); err != nil { log.Fatalf("server error: %v", err) } }