FROM node:22-bookworm-slim AS build
RUN corepack enable
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml tsconfig.base.json ./
COPY apps ./apps
COPY packages ./packages
RUN pnpm install --frozen-lockfile
RUN pnpm build

FROM node:22-bookworm-slim AS api
RUN corepack enable
WORKDIR /app
COPY --from=build /app /app
ENV HARNESS_API_HOST=0.0.0.0 HARNESS_API_PORT=4280 HARNESS_WEB_DIST=/app/apps/web/dist
EXPOSE 4280
CMD ["pnpm", "--filter", "@harness/api", "start"]

FROM node:22-bookworm-slim AS interaction-mcp
RUN corepack enable
WORKDIR /app
COPY --from=build /app /app
ENV HARNESS_MCP_HOST=0.0.0.0 HARNESS_MCP_PORT=4282
EXPOSE 4282
CMD ["pnpm", "--filter", "@harness/interaction-mcp", "start"]
