Spaces:
Sleeping
Sleeping
| # 使用 Node.js 20 作为构建阶段 (Nuxt 3.12+ 需要更高版本 Node.js 支持) | |
| FROM node:20-alpine AS builder | |
| # 设置工作目录 | |
| WORKDIR /app | |
| # 复制 package.json 和 pnpm-lock.yaml (如果有) | |
| COPY package.json pnpm-lock.yaml* ./ | |
| # 安装 pnpm 并安装依赖 | |
| RUN npm install -g pnpm && pnpm install | |
| # 复制所有源代码 | |
| COPY . . | |
| # 构建项目 | |
| RUN pnpm run build | |
| # 使用 Node.js 20 作为运行阶段 | |
| FROM node:20-alpine | |
| # 设置工作目录 | |
| WORKDIR /app | |
| # 从构建阶段复制构建结果 | |
| COPY --from=builder /app/.output ./.output | |
| COPY --from=builder /app/package.json ./package.json | |
| # 安装 python3 (Hugging Face Spaces 需要) | |
| RUN apk add --no-cache python3 | |
| # 复制启动脚本 | |
| COPY app.py ./ | |
| # 暴露端口 (Hugging Face Spaces 默认使用 7860) | |
| EXPOSE 7860 | |
| # 设置环境变量 | |
| ENV HOST=0.0.0.0 | |
| ENV PORT=7860 | |
| ENV NUXT_TELEMETRY_DISABLED=1 | |
| # 使用 python 启动 (适配 Hugging Face) | |
| CMD ["python3", "app.py"] | |