34 lines
716 B
Docker
34 lines
716 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:
|