######################## builder ######################## FROM node:18-alpine AS builder WORKDIR /app # ─── manifests ─────────────────────────────────────────── COPY api/package*.json ./ # api COPY core/prisma/package*.json ./core/prisma/ # prisma schema # ─── deps ──────────────────────────────────────────────── RUN npm ci --omit=dev --workspaces --include-workspace-root # ─── código fuente ────────────────────────────────────── COPY api/. ./ # api code COPY core/prisma ./core/prisma # schema & migraciones # si ocupás el cliente: RUN npx prisma generate ######################## runtime ######################## FROM node:18-alpine WORKDIR /app COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/api ./ # solo la api ENV NODE_ENV=production EXPOSE 4000 CMD ["node", "server.js"]