Ctrl K
ComunidadGuías…

Dockerfile

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
FROM node:24.13.0-bookworm@sha256:1de022d8459f896fff2e7b865823699dc7a8d5567507e8b87b14a7442e07f206 AS build

WORKDIR /app

RUN corepack enable

COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
COPY apps/reviewer/package.json apps/reviewer/package.json
COPY apps/web/package.json apps/web/package.json
COPY packages/contracts/package.json packages/contracts/package.json
COPY packages/typescript-config/package.json packages/typescript-config/package.json
COPY packages/ui/package.json packages/ui/package.json
RUN pnpm install --frozen-lockfile

COPY apps/reviewer ./apps/reviewer
COPY apps/web ./apps/web
COPY packages ./packages
COPY .agents/skills/leverframe-ask/SKILL.md ./.agents/skills/leverframe-ask/SKILL.md
COPY .agents/skills/leverframe-ask/scripts/ask.py ./.agents/skills/leverframe-ask/scripts/ask.py
RUN pnpm --filter @repo/reviewer build \
  && pnpm --filter @repo/reviewer deploy --prod /app/reviewer-runtime \
  && pnpm --filter @repo/web build

# Next standalone tracing omits ESM files behind pnpm's @swc/helpers symlink.
RUN swc_helpers_source="$(find /app/node_modules/.pnpm -type d -path '*/node_modules/@swc/helpers' -print -quit)" \
  && test -n "$swc_helpers_source" \
  && swc_helpers_relative="${swc_helpers_source#/app/node_modules/}" \
  && swc_helpers_destination="/app/apps/web/.next/standalone/node_modules/${swc_helpers_relative}" \
  && mkdir -p "$swc_helpers_destination" \
  && cp -a "$swc_helpers_source/esm" "$swc_helpers_destination/"

FROM node:24.13.0-bookworm-slim@sha256:4660b1ca8b28d6d1906fd644abe34b2ed81d15434d26d845ef0aced307cf4b6f AS reviewer

ENV NODE_ENV=production
WORKDIR /app/apps/reviewer

RUN apt-get update \
  && apt-get install --yes --no-install-recommends ca-certificates \
  && rm -rf /var/lib/apt/lists/*

COPY --from=build --chown=node:node /app/reviewer-runtime/ ./

USER node
EXPOSE 6571

CMD ["node", "dist/cli.js", "serve"]

FROM node:24.13.0-bookworm-slim@sha256:4660b1ca8b28d6d1906fd644abe34b2ed81d15434d26d845ef0aced307cf4b6f AS web

ENV NODE_ENV=production
ENV HOSTNAME=0.0.0.0
ENV PORT=6572
WORKDIR /app

COPY --from=build --chown=node:node /app/apps/web/.next/standalone/ ./
COPY --from=build --chown=node:node /app/apps/web/.next/static/ ./apps/web/.next/static/
COPY --from=build --chown=node:node /app/apps/web/public/ ./apps/web/public/

USER node
EXPOSE 6572

CMD ["node", "apps/web/server.js"]