# syntax=docker/dockerfile:1.7 FROM golang:1.26-alpine AS build WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . ARG VERSION=dev ARG COMMIT=unknown ARG BUILD_TIME=unknown RUN for cmd in server:package-updater master:updater-master agent:updater-agent; do \ CGO_ENABLED=0 go build \ -ldflags="-s -w \ -X main.version=${VERSION} \ -X main.commit=${COMMIT} \ -X main.buildTime=${BUILD_TIME}" \ -o /out/${cmd#*:} ./cmd/${cmd%%:*} || exit 1; \ done FROM alpine:3.20 RUN apk add --no-cache docker-cli docker-cli-compose ca-certificates wget COPY --from=build /out/ /usr/local/bin/ EXPOSE 8080 ENTRYPOINT ["/usr/local/bin/package-updater"]