FROM golang:1.25-alpine AS builder

LABEL stage=gobuilder

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

WORKDIR /build

COPY go.mod go.sum ./

RUN go mod download

COPY . .

ARG BuildVersion
ARG BuildTime
ARG CommitID

RUN go build -o iotlcmupstreamproxy_svc -ldflags "-w -s -X main.BuildVersion=${BuildVersion} -X main.CommitID=${CommitID} -X main.BuildTime=${BuildTime}"

FROM alpine:3.23

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

ENV TZ=Asia/Shanghai

EXPOSE 18510

WORKDIR /app
COPY --from=builder /build/iotlcmupstreamproxy_svc /app/iotlcmupstreamproxy_svc
COPY --from=builder /build/build/dev_config.yaml /app/config/config.yaml

CMD ["./iotlcmupstreamproxy_svc"]
