FROM node:20-alpine AS base WORKDIR /app RUN apk add --no-cache bash curl FROM base AS client_deps COPY client/package.json client/package-lock.json ./client/ RUN cd client && npm ci FROM client_deps AS client_build COPY client ./client RUN cd client && npm run build FROM base AS server_deps COPY server/package.json server/package-lock.json ./server/ COPY server/prisma ./server/prisma RUN cd server && npm ci FROM server_deps AS server_build COPY server ./server COPY scripts ./scripts COPY --from=client_build /app/client/dist ./client/dist WORKDIR /app/server ENV NODE_ENV=production CMD ["npm", "start"]