From 4bf28cf211961221659a0b112cc2a7db0cf09a32 Mon Sep 17 00:00:00 2001 From: russoj88 Date: Fri, 10 Apr 2020 15:08:27 -0700 Subject: [PATCH] Add dockerfile for prod deploy. --- Dockerfile.prod | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Dockerfile.prod 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"]