# Multi-stage production Dockerfile for Luxe API Gateway FROM node:22-alpine AS builder WORKDIR /app # Copy monorepo configuration & package files COPY package.json tsconfig.json pnpm-workspace.yaml ./ COPY packages/database/package.json ./packages/database/ COPY packages/shared/package.json ./packages/shared/ COPY services/gateway/package.json ./services/gateway/ # Install dependencies RUN npm install --ignore-scripts # Copy source code COPY packages/database ./packages/database COPY packages/shared ./packages/shared COPY services/gateway ./services/gateway # Build Prisma & TypeScript packages RUN npm run db:generate RUN npm run build # Production Runner stage FROM node:22-alpine AS runner WORKDIR /app ENV NODE_ENV=production ENV PORT=3000 COPY --from=builder /app ./ EXPOSE 3000 CMD ["npm", "start", "--workspace=@luxe/gateway"]