FROM node:22-alpine AS builder WORKDIR /app RUN corepack enable && corepack prepare pnpm@9.0.0 --activate COPY pnpm-workspace.yaml package.json ./ COPY packages/shared/package.json packages/shared/ COPY packages/server/package.json packages/server/ RUN pnpm install --frozen-lockfile COPY packages/shared/ packages/shared/ COPY packages/server/ packages/server/ RUN pnpm --filter @guncircle/shared build RUN pnpm --filter @guncircle/server build FROM node:22-alpine WORKDIR /app RUN corepack enable && corepack prepare pnpm@9.0.0 --activate COPY pnpm-workspace.yaml package.json ./ COPY --from=builder /app/packages/shared/dist packages/shared/dist COPY --from=builder /app/packages/shared/package.json packages/shared/ COPY --from=builder /app/packages/server/dist packages/server/dist COPY --from=builder /app/packages/server/package.json packages/server/ COPY --from=builder /app/packages/server/config packages/server/config RUN pnpm install --prod --frozen-lockfile EXPOSE 3000 CMD ["node", "packages/server/dist/index.js"]