deerflow2/frontend/Dockerfile.prod

27 lines
709 B
Docker

# --------------- 构建阶段 ---------------
FROM node:22-alpine AS builder
ARG PNPM_STORE_PATH=/root/.local/share/pnpm/store
ENV BETTER_AUTH_SECRET=any-random-string-123456
RUN corepack enable && corepack install -g pnpm@10.26.2
RUN pnpm config set store-dir ${PNPM_STORE_PATH}
WORKDIR /app
COPY frontend/ .
RUN pnpm install --frozen-lockfile
RUN pnpm build
# --------------- 运行阶段(最小镜像) ---------------
FROM node:22-alpine AS runner
ENV NODE_ENV=production
WORKDIR /app
COPY --from=builder /app/next.config.js ./
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./
EXPOSE 3000
CMD ["pnpm", "start"]