ARG BASE_REGISTRY=docker.io/library
FROM ${BASE_REGISTRY}/golang:1.25-alpine AS builder
LABEL stage=gobuilder

ENV GOPROXY=https://goproxy.cn,direct
ENV TZ=Asia/Shanghai

# RUN apk update --no-cache && apk add --no-cache expect git tzdata
WORKDIR /build

COPY go.mod go.sum  ./

RUN go mod download

COPY .  .

ARG BuildVersion
ARG BuildTime
ARG CommitID

RUN  go build -v -x  -o /build/iotlcm-worker-svr  -ldflags "-X main.BuildVersion=${BuildVersion} -X main.CommitID=${CommitID} -X main.BuildTime=${BuildTime}"

FROM ${BASE_REGISTRY}/alpine:3.23 AS alpine

RUN apk add --no-cache ca-certificates tzdata
ENV TZ=Asia/Shanghai

WORKDIR /app
COPY --from=builder /build/iotlcm-worker-svr /app/iotlcm-worker-svr
COPY --from=builder /build/build/config.example.yaml /app/config/config.yaml

CMD ["./iotlcm-worker-svr"]
