package main import ( "embed" "fmt" "io/fs" "log" "net/http" "os" ) //go:embed public var staticFiles embed.FS func main() { var staticFS = fs.FS(staticFiles) htmlContent, err := fs.Sub(staticFS, "public") if err != nil { log.Fatal(err) } fs := http.FileServer(http.FS(htmlContent)) // Serve static files http.Handle("/", fs) port := os.Getenv("PORT") if port == "" { port = "3000" } log.Printf("Listening on :%s...\n", port) err = http.ListenAndServe(fmt.Sprintf(":%s", port), nil) if err != nil { log.Fatal(err) } }