FROM node:22-alpine AS web-build WORKDIR /build/web COPY web/package.json web/package-lock.json* ./ RUN npm install COPY web/ . RUN npm run build FROM node:22-alpine AS api-build WORKDIR /build/api COPY api/package.json api/package-lock.json* ./ RUN npm install COPY api/ . RUN npm run build FROM node:22-alpine WORKDIR /app COPY --from=api-build /build/api/package.json /build/api/package-lock.json* ./ RUN npm install --omit=dev COPY --from=api-build /build/api/dist ./dist COPY --from=web-build /build/web/build ./public ENV NODE_ENV=production ENV PORT=3300 EXPOSE 3300 CMD ["node", "dist/index.js"]