diff --git a/Dockerfile.prod b/Dockerfile.prod new file mode 100644 index 0000000..35c832d --- /dev/null +++ b/Dockerfile.prod @@ -0,0 +1,34 @@ +# STEP 1: Build the website's files +FROM golang:alpine AS build-website + +WORKDIR /src + +COPY . /src/ + +RUN cd /src + +ENV GO111MODULE=on +RUN go get -u github.com/gohugoio/hugo@v0.69.0 + +RUN hugo --minify + +# STEP 2: Get a binary for the static-web-server +FROM golang:alpine AS build-webserver + +RUN apk update && apk upgrade && \ + apk add --no-cache git + +RUN go get -u git.simplesystems.tech/SimpleSystems/static-web-server + +# STEP 3: Combine static files and binary on fresh alpine image +FROM alpine:latest + +WORKDIR /app + +# Copy over static website files +COPY --from=build-website /src/public /app/public + +# Copy over static-web-server +COPY --from=build-webserver /go/bin/static-web-server /app/ + +ENTRYPOINT ["./static-web-server", "-rootDir", "public", "-port", "80", "-redirect"]