Spaces:
Sleeping
Sleeping
| # 使用 Node.js 18 官方镜像 | |
| FROM node:18-alpine AS builder | |
| # 设置工作目录 | |
| WORKDIR /app | |
| # 复制 package.json 和 lock 文件 | |
| COPY package*.json ./ | |
| # 安装依赖 | |
| RUN npm install | |
| # 复制所有源代码 | |
| COPY . . | |
| # 构建前端应用 | |
| RUN npm run build | |
| # 运行环境阶段 | |
| FROM node:18-alpine | |
| WORKDIR /app | |
| # 复制构建好的文件和必要文件 | |
| COPY --from=builder /app/dist ./dist | |
| COPY --from=builder /app/package*.json ./ | |
| COPY --from=builder /app/node_modules ./node_modules | |
| COPY --from=builder /app/api ./api | |
| COPY --from=builder /app/tsconfig.json ./tsconfig.json | |
| # 设置环境变量 | |
| ENV NODE_ENV=production | |
| ENV PORT=7860 | |
| # 暴露端口 | |
| EXPOSE 7860 | |
| # 启动命令 | |
| CMD ["npm", "start"] | |