FROM docker.io/library/node@sha256:db9a3a15e8e8e2adbaf1e1c3d93dfb04c2e294bdd027490addb2391b8e61cc6a AS build WORKDIR /src COPY package.json package-lock.json vite.config.ts index.html ./ COPY src ./src RUN npm ci --ignore-scripts && npm run build FROM docker.io/library/nginx@sha256:62223d644fa234c3a1cc785ee14242ec47a77364226f1c811d2f669f96dc2ac8 COPY --from=build /src/dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/nginx.conf USER 101:101 EXPOSE 8080 # Bypass upstream entrypoint scripts that modify configuration on startup. # The manifest supplies the only writable scratch path; no host data is needed. ENTRYPOINT ["nginx", "-g", "daemon off;"] CMD []