Spaces:
Paused
Paused
| FROM node:20-bullseye-slim AS base | |
| ENV PNPM_HOME="/pnpm" | |
| ENV PATH="$PNPM_HOME:$PATH" | |
| FROM base AS build | |
| WORKDIR /app | |
| COPY . /app | |
| RUN corepack enable | |
| RUN apt-get update && \ | |
| apt-get install -y python3 build-essential | |
| RUN --mount=type=cache,id=pnpm,target=/pnpm/store \ | |
| pnpm install --prod --frozen-lockfile | |
| RUN pnpm deploy --filter=@imput/cobalt-api --prod /prod/api | |
| FROM base AS api | |
| WORKDIR /app | |
| ARG API_URL="https://fuliai-cobalt.hf.space/" | |
| ARG API_PORT=7860 | |
| ENV API_URL=${API_URL} | |
| ENV API_PORT=${API_PORT} | |
| COPY --from=build /prod/api /app | |
| COPY --from=build /app/.git /app/.git | |
| # 复制.env.example并重命名为.env | |
| COPY .env.example .env | |
| RUN if [ -n "$API_URL" ]; then \ | |
| sed -i "s|^API_URL=.*|API_URL=${API_URL}|" .env; \ | |
| fi && \ | |
| if [ -n "$API_PORT" ]; then \ | |
| sed -i "s|^API_PORT=.*|API_PORT=${API_PORT}|" .env; \ | |
| fi | |
| # 输出.env文件内容以进行调试 | |
| RUN cat .env | |
| CMD [ "node", "src/cobalt" ] |