36 lines
712 B
Docker
36 lines
712 B
Docker
|
ARG TARGETOS
|
||
|
ARG TARGETARCH
|
||
|
|
||
|
FROM golang:1.21-alpine AS builder
|
||
|
|
||
|
RUN apk add --no-cache git=~2
|
||
|
|
||
|
RUN 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:
|