fix: add frontend build stage to Dockerfile, update npm install to include devDependencies
This commit is contained in:
+25
-6
@@ -1,5 +1,22 @@
|
|||||||
# 构建阶段 - 使用 Debian 基础镜像
|
# 前端构建阶段
|
||||||
FROM golang:1.22-bookworm AS builder
|
FROM node:20-alpine AS frontend-builder
|
||||||
|
|
||||||
|
WORKDIR /app/web
|
||||||
|
|
||||||
|
# 复制前端依赖文件
|
||||||
|
COPY web/package*.json ./
|
||||||
|
|
||||||
|
# 安装依赖
|
||||||
|
RUN npm install --registry https://registry.npmmirror.com
|
||||||
|
|
||||||
|
# 复制前端源代码
|
||||||
|
COPY web/ ./
|
||||||
|
|
||||||
|
# 构建前端
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
# 后端构建阶段 - 使用 Debian 基础镜像
|
||||||
|
FROM golang:1.22-bookworm AS backend-builder
|
||||||
|
|
||||||
# 安装 OpenCV、ONNX Runtime 和编译工具
|
# 安装 OpenCV、ONNX Runtime 和编译工具
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
@@ -48,13 +65,15 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# 复制 ONNX Runtime
|
# 复制 ONNX Runtime
|
||||||
COPY --from=builder /usr/local/onnxruntime/lib/libonnxruntime.so* /usr/lib/
|
COPY --from=backend-builder /usr/local/onnxruntime/lib/libonnxruntime.so* /usr/lib/
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# 复制二进制文件和前端
|
# 复制二进制文件
|
||||||
COPY --from=builder /app/anticaptcha .
|
COPY --from=backend-builder /app/anticaptcha .
|
||||||
COPY --from=builder /app/web/dist ./web/dist
|
|
||||||
|
# 复制前端构建产物
|
||||||
|
COPY --from=frontend-builder /app/web/dist ./web/dist
|
||||||
|
|
||||||
# 创建数据和模型目录(模型启动时自动下载)
|
# 创建数据和模型目录(模型启动时自动下载)
|
||||||
RUN mkdir -p /app/data /app/models
|
RUN mkdir -p /app/data /app/models
|
||||||
|
|||||||
Generated
+2081
File diff suppressed because it is too large
Load Diff
+6
-6
@@ -8,16 +8,16 @@
|
|||||||
"preview": "vite preview"
|
"preview": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"axios": "^1.7.2",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
"react-router-dom": "^6.24.1",
|
"react-router-dom": "^6.24.1"
|
||||||
"axios": "^1.7.2"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/react": "^18.3.3",
|
"@types/react": "^18.3.3",
|
||||||
"@types/react-dom": "^18.3.0",
|
"@types/react-dom": "^18.3.0",
|
||||||
"@vitejs/plugin-react": "^4.3.1",
|
"@vitejs/plugin-react": "^4.7.0",
|
||||||
"typescript": "^5.5.3",
|
"typescript": "^5.9.3",
|
||||||
"vite": "^5.3.4"
|
"vite": "^5.4.21"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user