FROM golang:1.25-alpine AS builder

LABEL stage=gobuilder

ENV GOPROXY=https://goproxy.cn,direct

WORKDIR /src

COPY go.mod go.sum ./

RUN go mod download

COPY . .

ARG BuildVersion
ARG BuildTime
ARG CommitID

RUN CGO_ENABLED=0 go build -trimpath \
    -ldflags="-s -w -X main.BuildVersion=${BuildVersion} -X main.BuildTime=${BuildTime} -X main.CommitID=${CommitID}" \
    -o /out/iotlcm-sms .

FROM alpine:3.23

RUN apk add --no-cache ca-certificates tzdata

ENV TZ=Asia/Shanghai

# 注意：不 COPY 任何凭证。默认凭证由部署时只读挂载到 /app/config/config.yaml。
COPY --from=builder /out/iotlcm-sms /usr/local/bin/iotlcm-sms

EXPOSE 8080
EXPOSE 11200

ENTRYPOINT ["iotlcm-sms"]
