generated from templates/go-generic
36 lines
636 B
Docker
36 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
|