zhzabcd commited on
Commit
ab07056
·
verified ·
1 Parent(s): 1a680da

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +35 -9
Dockerfile CHANGED
@@ -1,11 +1,37 @@
1
- FROM justsong/one-api
2
- EXPOSE 3000
3
- ENV PORT 3000
4
- ENV THEME=barry
5
- ENV GLOBAL_WEB_RATE_LIMIT=600
6
- ENV GLOBAL_API_RATE_LIMIT=1800
7
 
8
- RUN mkdir /data/logs
9
- RUN chmod -R 777 /data
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
- ENTRYPOINT ["/one-api"]
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM alpine/git as clone
2
+ WORKDIR /app
3
+ RUN git clone https://github.com/Calcium-Ion/new-api.git
 
 
 
4
 
5
+ # Stage 2: Node builder
6
+ FROM node:16 as builder
7
+ WORKDIR /build
8
+ COPY --from=clone /app/new-api/web/package.json .
9
+ RUN npm install
10
+ COPY --from=clone /app/new-api/web .
11
+ COPY --from=clone /app/new-api/VERSION .
12
+ RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build
13
+
14
+ # Stage 3: Go builder
15
+ FROM golang AS builder2
16
+ ENV GO111MODULE=on \
17
+ CGO_ENABLED=1 \
18
+ GOOS=linux
19
+ WORKDIR /build
20
+ COPY --from=clone /app/new-api/go.mod .
21
+ COPY --from=clone /app/new-api/go.sum .
22
+ RUN go mod download
23
+ COPY --from=clone /app/new-api .
24
+ COPY --from=builder /build/build ./web/build
25
+ RUN go build -ldflags "-s -w -X 'one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o one-api
26
 
27
+ # Stage 4: Final stage
28
+ FROM alpine
29
+ RUN apk update \
30
+ && apk upgrade \
31
+ && apk add --no-cache ca-certificates tzdata \
32
+ && update-ca-certificates 2>/dev/null || true
33
+ COPY --from=builder2 /build/one-api /
34
+ WORKDIR /data
35
+ RUN chmod -R 777 /data
36
+ ENTRYPOINT ["/one-api"]
37
+ EXPOSE 3000