ckst commited on
Commit
c3de29e
·
verified ·
1 Parent(s): 7ced239

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +19 -37
Dockerfile CHANGED
@@ -1,51 +1,33 @@
1
- FROM node:18.19.0-alpine as react-builder
2
-
3
- WORKDIR /app
4
- COPY ./VERSION .
5
-
6
- # 复制 web-user 和 web-admin 的 package.json 和 package-lock.json
7
- COPY web-user/package.json web-user/package-lock.json ./web-user/
8
- COPY web-admin/package.json web-admin/package-lock.json ./web-admin/
9
-
10
- # 为 web-user 和 web-admin 安装依赖项
11
- RUN npm ci --prefix web-user
12
- RUN npm ci --prefix web-admin
13
-
14
- # 复制源代码
15
- COPY web-user ./web-user
16
- COPY web-admin ./web-admin
17
-
18
- # 构建 web-user 和 web-admin 应用
19
- RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build --prefix web-user
20
- RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build --prefix web-admin
21
-
22
- FROM golang:latest AS go-builder
23
 
24
  WORKDIR /build
25
  COPY go.mod go.sum ./
26
  RUN go mod download
27
  COPY . .
28
 
29
- # 复制构建结果
30
- COPY --from=react-builder /app/web-user/build ./web-user/build
31
- COPY --from=react-builder /app/web-admin/build ./web-admin/build
32
-
33
  # 构建 Go 二进制文件
34
  RUN go build -ldflags "-s -w -X 'one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o bin/chat-api
35
 
36
- FROM alpine:latest
 
 
 
 
 
 
 
 
 
37
 
38
- RUN apk update \
39
- && apk upgrade \
40
- && apk add --no-cache ca-certificates tzdata ffmpeg ffmpeg-tools \
41
- && update-ca-certificates 2>/dev/null || true \
42
- && rm -rf /var/cache/apk/*
43
 
44
- # 复制 Go 二进制文件
45
- COPY --from=go-builder /build/bin/chat-api /chat-api
46
 
47
- EXPOSE 3000
 
 
48
 
49
- WORKDIR /data
50
- ENTRYPOINT ["/chat-api"]
51
 
 
1
+ FROM golang:latest AS builder
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  WORKDIR /build
4
  COPY go.mod go.sum ./
5
  RUN go mod download
6
  COPY . .
7
 
 
 
 
 
8
  # 构建 Go 二进制文件
9
  RUN go build -ldflags "-s -w -X 'one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o bin/chat-api
10
 
11
+ FROM nginx:alpine
12
+
13
+ # 暴露服务端口
14
+ EXPOSE 7860
15
+
16
+ # 创建必要目录
17
+ RUN mkdir -p /data/logs && \
18
+ mkdir -p /logs && \
19
+ chmod -R 777 /data && \
20
+ chmod -R 777 /logs
21
 
22
+ # 配置 Nginx 代理
23
+ COPY nginx.conf /etc/nginx/nginx.conf
 
 
 
24
 
25
+ # 复制编译后的可执行文件
26
+ COPY --from=builder /build/bin/chat-api /chat-api
27
 
28
+ # 启动脚本
29
+ COPY start.sh /start.sh
30
+ RUN chmod +x /start.sh
31
 
32
+ CMD ["/start.sh"]
 
33