FROM node:20-alpine AS base RUN corepack enable pnpm FROM base AS deps WORKDIR /app COPY package.json pnpm-workspace.yaml ./ COPY apps/api/package.json ./apps/api/ RUN pnpm install --frozen-lockfile FROM base AS build WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY --from=deps /app/apps/api/node_modules ./apps/api/node_modules COPY . . WORKDIR /app/apps/api RUN pnpm db:generate RUN pnpm build FROM node:20-alpine AS runner WORKDIR /app COPY --from=build /app/apps/api/dist ./dist COPY --from=build /app/apps/api/node_modules ./node_modules EXPOSE 3001 CMD ["node", "dist/index.js"]