| FROM golang:1.26-alpine AS builder |
|
|
| WORKDIR /app |
|
|
| COPY go.mod go.sum ./ |
|
|
| RUN go mod download |
|
|
| COPY . . |
|
|
| 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 ./CLIProxyAPI ./cmd/server/ |
|
|
| FROM alpine:3.22.0 |
|
|
| RUN apk add --no-cache tzdata |
|
|
| RUN mkdir /CLIProxyAPI |
|
|
| COPY --from=builder ./app/CLIProxyAPI /CLIProxyAPI/CLIProxyAPI |
|
|
| COPY --from=builder /app/config.example.yaml /CLIProxyAPI/config.example.yaml |
| COPY --from=builder /app/config.example.yaml /CLIProxyAPI/config.yaml |
|
|
| WORKDIR /CLIProxyAPI |
|
|
| EXPOSE 7860 |
|
|
| ENV TZ=Asia/Shanghai |
|
|
| RUN cp /usr/share/zoneinfo/${TZ} /etc/localtime && echo "${TZ}" > /etc/timezone |
|
|
| CMD ["./CLIProxyAPI"] |