File size: 1,569 Bytes
98f0a6a 90ebd67 2ed2107 98f0a6a 937f5bb 2ed2107 98f0a6a c791fe5 98f0a6a 2ed2107 98f0a6a c791fe5 98f0a6a 5cb2eb2 98f0a6a 3fd8f7f 98f0a6a 3fd8f7f 98f0a6a 3fd8f7f c5d26b5 1d3d916 64c8703 aeee40c 1d3d916 7101dc1 64c8703 98f0a6a b112922 98f0a6a 552e902 a0cb145 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
FROM --platform=$BUILDPLATFORM node:16 AS builder
WORKDIR /src
RUN git clone https://github.com/songquanpeng/one-api.git -b v0.6.8 .
WORKDIR /src/web/default
RUN npm install
RUN cp /src/VERSION .
RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build
WORKDIR /src/web/air
RUN npm install
RUN cp /src/VERSION .
RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build
FROM golang:alpine AS builder2
RUN apk add --no-cache g++ git
ENV GO111MODULE=on \
CGO_ENABLED=1 \
GOOS=linux
WORKDIR /src
RUN git clone https://github.com/songquanpeng/one-api.git -b v0.6.8 .
WORKDIR /build
RUN cp /src/go.mod /src/go.sum ./
RUN go mod download
RUN cp -r /src/* .
COPY --from=builder /src/web/build ./web/build
# fix
RUN sed -i 's/router.Group("\/v1")/router.Group("\/v1")\n relayV2Router := router.Group("\/proxies\/v1")Eof/g' router/relay.go
RUN sed -i 's/Eof/\n relayV2Router.Use(middleware.RelayPanicRecover(), middleware.TokenAuth(), middleware.Distribute())\n {Eof/g' router/relay.go
RUN sed -i 's/Eof/\n relayV2Router.POST("\/completions", controller.Relay) }/g' router/relay.go
RUN cat router/relay.go
RUN go build -trimpath -ldflags "-s -w -X 'github.com/songquanpeng/one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o one-api
FROM alpine
RUN apk update \
&& apk upgrade \
&& apk add --no-cache ca-certificates tzdata \
&& update-ca-certificates 2>/dev/null || true
COPY --from=builder2 /build/one-api /
EXPOSE 3000
WORKDIR /data
RUN chmod -R 777 /data
ENTRYPOINT ["/one-api"] |