FROM node:20-alpine as builder RUN apk add git WORKDIR /app # 复制项目文件 RUN git clone https://github.com/mikeccroberts/Gemini-Search ./ COPY env.ts ./server/env.ts # 安装依赖并构建 RUN npm ci RUN npm run build # 生产环境 FROM node:20-alpine WORKDIR /app # 复制构建产物和必要文件 COPY --from=builder /app/dist ./dist COPY --from=builder /app/package*.json ./ COPY --from=builder /app/db ./db # 安装生产环境依赖,并确保包含 vite RUN npm ci && npm install vite # 设置环境变量 ENV NODE_ENV=production ENV PORT=3000 # 暴露端口 EXPOSE 3000 # 启动应用 CMD ["npm", "start"]