2023-08-10 20:21:33 +00:00
|
|
|
FROM golang:1.20 AS builder
|
2019-10-11 00:20:42 +00:00
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
COPY ./go.mod ./go.sum /app/
|
|
|
|
RUN go mod download
|
|
|
|
|
|
|
|
COPY ./*.go /app/
|
|
|
|
|
2024-04-03 19:15:11 +00:00
|
|
|
ARG TARGETOS
|
|
|
|
ARG TARGETARCH
|
2019-10-11 00:20:42 +00:00
|
|
|
ARG VERSION=dev
|
2024-04-03 19:15:11 +00:00
|
|
|
ENV CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=${TARGETARCH}
|
2019-10-11 00:20:42 +00:00
|
|
|
RUN go build -ldflags "-X main.version=${VERSION}" -a -installsuffix nocgo -o minitor .
|
|
|
|
|
2024-04-03 19:15:11 +00:00
|
|
|
FROM alpine:3.18
|
2019-11-22 20:58:26 +00:00
|
|
|
RUN mkdir /app
|
|
|
|
WORKDIR /app/
|
|
|
|
|
|
|
|
# Copy minitor in
|
2019-10-11 00:20:42 +00:00
|
|
|
COPY --from=builder /app/minitor .
|
|
|
|
|
2019-11-22 20:58:26 +00:00
|
|
|
# Add common checking tools
|
2024-04-03 19:15:11 +00:00
|
|
|
RUN apk --no-cache add bash=~5 curl=~8 jq=~1 bind-tools=~9 tzdata~=2024a
|
2019-11-22 20:58:26 +00:00
|
|
|
|
|
|
|
# Add minitor user for running as non-root
|
|
|
|
RUN addgroup -S minitor && adduser -S minitor -G minitor
|
|
|
|
|
|
|
|
# Copy scripts
|
|
|
|
COPY ./scripts /app/scripts
|
|
|
|
RUN chmod -R 755 /app/scripts
|
|
|
|
|
|
|
|
# Drop to non-root user
|
|
|
|
USER minitor
|
|
|
|
|
2019-10-11 00:20:42 +00:00
|
|
|
ENTRYPOINT [ "./minitor" ]
|
2019-11-22 20:58:26 +00:00
|
|
|
|
|
|
|
# vim: set filetype=dockerfile:
|