Spaces:
Running
Running
| # 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"] |