FROM node:24-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm ci --no-audit --no-fund COPY index.html ./ COPY src ./src COPY public ./public RUN npm run build FROM nginx:1.28-alpine COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build --chmod=0755 /app/dist/ /usr/share/nginx/html/ RUN find /usr/share/nginx/html -type f -exec chmod 644 {} \; EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=3s --start-period=5s CMD wget -q -O /dev/null http://127.0.0.1:8080/healthz || exit 1