FROM node:20-alpine AS builder WORKDIR /build COPY package.json . RUN npm install COPY index.html . COPY vite.config.ts . COPY tsconfig.json . COPY tailwind.config.js . COPY postcss.config.js . COPY src/ ./src/ RUN npm run build FROM node:20-alpine AS runtime RUN npm install -g serve COPY --from=builder /build/dist /app COPY docker-entrypoint.sh / RUN chmod +x /docker-entrypoint.sh EXPOSE 80 ENTRYPOINT ["/docker-entrypoint.sh"]