26 lines
771 B
Docker
26 lines
771 B
Docker
|
|
FROM amd64/golang:1.26.2@sha256:3e677b9776e5fcb030321772b4fe13c58b22b8abe772c647be8f746159d1a2dc as modules
|
||
|
|
WORKDIR /build
|
||
|
|
ENV GOPRIVATE=gitea.unbound.se/shiny,gitea.unbound.se/unboundsoftware
|
||
|
|
ADD go.* /build
|
||
|
|
RUN go mod download
|
||
|
|
|
||
|
|
FROM modules as build
|
||
|
|
ARG CI_COMMIT
|
||
|
|
WORKDIR /build
|
||
|
|
ENV CGO_ENABLED=0
|
||
|
|
ADD . /build
|
||
|
|
RUN GOOS=linux GOARCH=amd64 go build \
|
||
|
|
-tags prod \
|
||
|
|
-a -installsuffix cgo \
|
||
|
|
-mod=readonly \
|
||
|
|
-o /release/service \
|
||
|
|
-ldflags "-w -s -X main.buildVersion=${CI_COMMIT}" \
|
||
|
|
./cmd/service/service.go
|
||
|
|
|
||
|
|
FROM scratch
|
||
|
|
ENV TZ Europe/Stockholm
|
||
|
|
COPY --from=build /usr/share/zoneinfo /usr/share/zoneinfo
|
||
|
|
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
|
||
|
|
COPY --from=build /release/service /
|
||
|
|
CMD ["/service"]
|