@@ -4,42 +4,36 @@ RUN corepack enable && corepack prepare pnpm@latest --activate
44FROM base AS builder
55WORKDIR /app
66
7+ # Copy root files
78COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
9+
10+ # Copy all package.json files first
811COPY packages/server/package.json ./packages/server/
912COPY packages/types/package.json ./packages/types/
1013COPY packages/typescript-config/package.json ./packages/typescript-config/
1114
15+ # Install dependencies (including Prisma)
1216RUN pnpm install --frozen-lockfile
1317
18+ # Copy source code
1419COPY packages/server ./packages/server
1520COPY packages/types ./packages/types
1621COPY packages/typescript-config ./packages/typescript-config
1722
23+ # Generate Prisma Client
1824RUN cd packages/server && npx prisma generate
25+
26+ # Build types first, then server
1927RUN pnpm --filter @workspace/types build
2028RUN pnpm --filter server build
2129
2230FROM base AS runner
2331WORKDIR /app
2432
25- # Install pnpm in runner
26- RUN corepack enable && corepack prepare pnpm@latest --activate
27-
28- # Copy package files
29- COPY --from=builder /app/package.json ./
30- COPY --from=builder /app/pnpm-lock.yaml ./
31- COPY --from=builder /app/pnpm-workspace.yaml ./
32- COPY --from=builder /app/packages/server/package.json ./packages/server/package.json
33-
34- # Install production dependencies
35- RUN pnpm install --prod --frozen-lockfile
36-
37- # Copy Prisma and generate
38- COPY --from=builder /app/packages/server/prisma ./packages/server/prisma
39- RUN cd packages/server && npx prisma generate
40-
41- # Copy built code
33+ # Copy built files
4234COPY --from=builder /app/packages/server/dist ./dist
35+ COPY --from=builder /app/packages/server/package.json ./package.json
36+ COPY --from=builder /app/node_modules ./node_modules
4337
4438ENV NODE_ENV=production
4539ENV PORT=4000
0 commit comments