FROM golang:1.23-alpine AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /out/server ./services/activity-service/cmd/server RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /out/grpc-health-probe ./cmd/grpc-health-probe FROM alpine:3.20 WORKDIR /app RUN apk add --no-cache ca-certificates && adduser -D -g '' appuser COPY --from=builder /out/server /app/server COPY --from=builder /out/grpc-health-probe /app/grpc-health-probe COPY services/activity-service/configs/config.docker.yaml /app/config.yaml USER appuser EXPOSE 13006 ENTRYPOINT ["/app/server"] CMD ["-config", "/app/config.yaml"]