nomad-var-dirsync/Dockerfile.multi-stage
Ian Fijolek 8d83b62b35
Some checks failed
continuous-integration/drone Build is failing
Get it all running
2024-01-03 21:23:12 -08:00

34 lines
710 B
Docker

ARG TARGETOS
ARG TARGETARCH
FROM golang:1.21-alpine AS builder
RUN apk add --no-cache git=~2 && mkdir /app
WORKDIR /app
COPY ./go.mod ./go.sum /app/
RUN go mod download
COPY ./*.go /app/
ARG VERSION=dev
ENV CGO_ENABLED=0 GOOS=TARGETOS GOARCH=TARGETARCH
RUN go build -ldflags "-X main.version=VERSION" -a -installsuffix nocgo -o nomad-var-dirsync .
FROM REPO/alpine:3.19
RUN mkdir /app
WORKDIR /app/
# Copy binary in
COPY --from=builder /app/nomad-var-dirsync .
# Add user for running as non-root
RUN addgroup -S nomad-var-dirsync && adduser -S nomad-var-dirsync -G nomad-var-dirsync
# Drop to non-root user
USER nomad-var-dirsync
ENTRYPOINT [ "./nomad-var-dirsync" ]
# vim: set filetype=dockerfile: