cobalt / Dockerfile
orztv
update
2eaf02e
raw
history blame contribute delete
942 Bytes
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" ]