# syntax=docker/dockerfile:1.7 FROM node:20-alpine AS builder RUN corepack enable WORKDIR /build COPY package.json pnpm-workspace.yaml pnpm-lock.yaml tsconfig.base.json ./ COPY apps/coder/package.json ./apps/coder/ RUN pnpm install --frozen-lockfile COPY apps/coder ./apps/coder RUN pnpm -C apps/coder build RUN pnpm deploy --filter=@boocode/coder --prod --legacy /out/coder FROM node:20-bookworm-slim AS runtime RUN apt-get update && apt-get install -y --no-install-recommends ripgrep git && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY --from=builder /out/coder ./ ENV NODE_ENV=production EXPOSE 3000 CMD ["node", "dist/index.js"]