# syntax=docker/dockerfile:1.7 FROM golang:1.24-alpine AS builder RUN apk add --no-cache git ca-certificates WORKDIR /src ARG REPO_URL=https://github.com/Starry-Sky-World/CLIProxyAPI.git ARG REPO_REF=main RUN git clone --depth 1 --branch "${REPO_REF}" "${REPO_URL}" . RUN go mod download ARG VERSION=dev ARG COMMIT=none ARG BUILD_DATE=unknown RUN CGO_ENABLED=0 GOOS=linux go build \ -ldflags="-s -w -X 'main.Version=${VERSION}' -X 'main.Commit=${COMMIT}' -X 'main.BuildDate=${BUILD_DATE}'" \ -o /out/CLIProxyAPI ./cmd/server/ FROM alpine:3.22.0 RUN apk add --no-cache tzdata ca-certificates WORKDIR /CLIProxyAPI COPY --from=builder /out/CLIProxyAPI ./CLIProxyAPI COPY --from=builder /src/config.example.yaml ./config.example.yaml EXPOSE 8317 ENV TZ=Asia/Shanghai RUN cp /usr/share/zoneinfo/${TZ} /etc/localtime && echo "${TZ}" > /etc/timezone CMD ["./CLIProxyAPI"]