# ---- build ---- FROM docker.io/library/node:22-bookworm-slim AS build WORKDIR /build COPY package*.json ./ RUN npm ci COPY . . # Root deploys (own port, no reverse-proxy prefix) leave this unset and default to '/'. ARG VITE_BASE=/ ENV VITE_BASE=$VITE_BASE RUN npm run build # ---- runtime ---- FROM docker.io/library/nginx:1.27-alpine COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /build/dist /usr/share/nginx/html EXPOSE 8097 HEALTHCHECK --interval=30s --timeout=5s --retries=3 \ CMD wget -qO- http://localhost:8097/ >/dev/null || exit 1