commit 8548fe57726e78048cfd6b9894974137a045a86f Author: jerostre Date: Fri Jun 23 07:28:11 2017 -0700 Initial commit. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9722006 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM golang:latest as builder +COPY serve.go / +WORKDIR / +RUN CGO_ENABLED=0 go build -a -installsuffix cgo -o serve . + +FROM scratch +COPY --from=builder /serve / +CMD ["/serve"] diff --git a/serve.go b/serve.go new file mode 100644 index 0000000..4b44119 --- /dev/null +++ b/serve.go @@ -0,0 +1,24 @@ +package main + +import ( + "net/http" + "os" +) + +func main() { + host := env("HOST", "") + port := env("PORT", "8080") + folder := env("FOLDER", "/web") + "/" + + http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + http.ServeFile(w, r, folder+r.URL.Path) + }) + http.ListenAndServe(host+":"+port, nil) +} + +func env(key, fallback string) string { + if value := os.Getenv(key); 0 < len(value) { + return value + } + return fallback +}