arran 🇦🇺@aussie.zonetoSelfhosted@lemmy.world•Best way to dockerize a static website?English
61·
8 months agoThe busybox one seems great as it comes with shells. php looks like it would add some issues.
Personally since I use go, I would create a go embedded app, which I would make a deb, rpm, and a dockerfile using “goreleaser”
package main
import (
"embed"
"net/http"
)
//go:embed static/*
var content embed.FS
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
// Serve index.html as the default page
http.ServeContent(w, r, "index.html", nil, content)
})
// Serve static files
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.FS(content))))
// Start the server
http.ListenAndServe(":8080", nil)
}
Would be all the code but allows for expansion later. However the image goreleaser builds doesn’t come with busybox on it so you can’t docker exec
into it. https://goreleaser.com/customization/docker/
Most of the other options including the PHP one seem to include a scripting language or a bunch of other system tools etc. I think that’s overkill
I like the idea and have been meaning to build / find something like this however this does a little too much and in not quite the way I want. But it’s cool for those who need this exact implementation.