zhou20120904 commited on
Commit
3b5c17a
·
verified ·
1 Parent(s): e4e960f

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +42 -0
Dockerfile ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:16 as builder
2
+
3
+ WORKDIR /web
4
+ COPY ./VERSION .
5
+ COPY ./web .
6
+
7
+ WORKDIR /web/default
8
+ RUN npm install
9
+ RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build
10
+
11
+ WORKDIR /web/berry
12
+ RUN npm install
13
+ RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build
14
+
15
+ WORKDIR /web/air
16
+ RUN npm install
17
+ RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build
18
+
19
+ FROM golang AS builder2
20
+
21
+ ENV GO111MODULE=on \
22
+ CGO_ENABLED=1 \
23
+ GOOS=linux
24
+
25
+ WORKDIR /build
26
+ ADD go.mod go.sum ./
27
+ RUN go mod download
28
+ COPY . .
29
+ COPY --from=builder /web/build ./web/build
30
+ RUN go build -ldflags "-s -w -X 'github.com/songquanpeng/one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o one-api
31
+
32
+ FROM alpine
33
+
34
+ RUN apk update \
35
+ && apk upgrade \
36
+ && apk add --no-cache ca-certificates tzdata \
37
+ && update-ca-certificates 2>/dev/null || true
38
+
39
+ COPY --from=builder2 /build/one-api /
40
+ EXPOSE 3000
41
+ WORKDIR /data
42
+ ENTRYPOINT ["/one-api"]