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 ARG TARGETOS ARG TARGETARCH ENV CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH RUN go build -ldflags "-X main.version=VERSION" -a -installsuffix nocgo -o nomad-var-dirsync . FROM 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: