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"]
