FROM node:20-alpine AS client-build WORKDIR /app/client COPY client/package.json ./ RUN npm install COPY client/ ./ RUN npm run build FROM node:20-alpine WORKDIR /app COPY server/package.json ./server/ RUN cd server && npm install --omit=dev COPY server/ ./server/ COPY --from=client-build /app/client/dist ./client/dist WORKDIR /app/server ENV PORT=8080 EXPOSE 8080 CMD ["node", "index.js"]