Openstatus
www.openstatus.dev
1FROM golang:1.25-alpine as builder
2
3WORKDIR /go/src/app
4COPY ca/ca-bundle.crt /usr/local/share/ca-certificates/ca-bundle.crt
5
6RUN apk update \
7&& apk upgrade --available \
8&& update-ca-certificates
9
10RUN apk add --no-cache tzdata
11ENV TZ=UTC
12
13ENV CGO_ENABLED=0
14ENV GOOS=linux
15ENV GOARCH=amd64
16
17COPY go.* .
18RUN go mod download
19
20COPY . .
21RUN go build -trimpath -ldflags "-s -w" -o checker ./cmd/server/main.go
22
23FROM scratch
24
25WORKDIR /opt/bin
26
27COPY --from=builder /usr/local/share/ca-certificates/ca-bundle.crt /etc/ssl/certs/ca-bundle.crt
28COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
29
30
31
32COPY --from=builder /usr/share/zoneinfo /usr/share/zoneinfo
33
34COPY --from=builder /go/src/app/checker/main /opt/bin/checker
35
36ENV TZ=UTC
37ENV USER=1000
38ENV GIN_MODE=release
39
40CMD [ "/opt/bin/checker" ]