generated from templates/go-generic
35 lines
636 B
Docker
35 lines
636 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
# Build the nanoc site
|
|
FROM ruby:3.3 AS site-builder
|
|
|
|
ARG ENVIRONMENT
|
|
|
|
COPY flow/ /workspace
|
|
|
|
WORKDIR /workspace
|
|
|
|
RUN bundle install \
|
|
&& bundle exec nanoc compile --env=${ENVIRONMENT}
|
|
|
|
# Build the web server
|
|
FROM golang:1.21-alpine AS server-builder
|
|
|
|
COPY go.mod /workspace/go.mod
|
|
COPY main.go /workspace/main.go
|
|
COPY --from=site-builder /workspace/output/ /workspace/flow/output/
|
|
|
|
WORKDIR /workspace
|
|
|
|
RUN go build -ldflags="-s -w" -a -v -o website .
|
|
|
|
# Create the final image
|
|
FROM scratch
|
|
|
|
COPY --from=server-builder /workspace/website /website
|
|
|
|
USER 65534
|
|
|
|
ENTRYPOINT ["/website"]
|
|
|
|
HEALTHCHECK NONE
|