smgc commited on
Commit
452498a
·
verified ·
1 Parent(s): df304e6

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +36 -8
Dockerfile CHANGED
@@ -1,15 +1,43 @@
1
- FROM ghcr.io/martialbe/one-api as builder
2
 
3
- FROM --platform=$BUILDPLATFORM caddy:alpine AS runner
 
 
 
 
 
 
 
 
4
 
5
- WORKDIR /app
 
 
6
 
7
- COPY --from=builder /one-api ./one-api
8
 
9
- COPY Caddyfile ./Caddyfile
 
 
10
 
11
- RUN chmod 777 -R /app
 
 
 
12
 
13
- EXPOSE 3001
 
 
14
 
15
- CMD ["sh", "-c", "caddy run --config /app/Caddyfile & /app/one-api"]
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:16 as builder
2
 
3
+ WORKDIR /build
4
+ RUN git clone https://github.com/MartialBE/one-api.git .
5
+ RUN sed -i'' 's|router.Group("/v1|router.Group("/api/v1|g' /build/router/relay-router.go
6
+ RUN sed -i'' 's|HasPrefix(path, "/v1|HasPrefix(path, "/api/v1|g' /build/relay/common.go
7
+ RUN sed -i'' 's|Messages: |messages: |g' /build/controller/channel-test.go
8
+ RUN sed -i'' 's|Role: |role: |g' /build/controller/channel-test.go
9
+ RUN sed -i'' 's|Content: |content: |g' /build/controller/channel-test.go
10
+ RUN sed -i'' 's|Model: |model: |g' /build/controller/channel-test.go
11
+ RUN sed -i'' 's|Stream: |stream: |g' /build/controller/channel-test.go
12
 
13
+ WORKDIR /build/web
14
+ RUN npm install
15
+ RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat ../VERSION) npm run build
16
 
17
+ FROM golang AS builder2
18
 
19
+ ENV GO111MODULE=on \
20
+ CGO_ENABLED=1 \
21
+ GOOS=linux
22
 
23
+ WORKDIR /build
24
+ RUN git clone https://github.com/MartialBE/one-api.git .
25
+ RUN sed -i'' 's|router.Group("/v1|router.Group("/api/v1|g' /build/router/relay-router.go
26
+ RUN sed -i'' 's|HasPrefix(path, "/v1|HasPrefix(path, "/api/v1|g' /build/relay/common.go
27
 
28
+ RUN go mod download
29
+ COPY --from=builder /build/web/build ./web/build
30
+ RUN go build -ldflags "-s -w -X '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
+ RUN chmod 777 -R /data
43
+ ENTRYPOINT ["/one-api"]