# Stage 0, "build-stage", based on Node.js, to build and compile the frontend FROM docker.io/node:26 AS build-stage WORKDIR /app ARG VITE_API_URL ARG NODE_ENV=production ENV VITE_API_URL=${VITE_API_URL} COPY package.json package-lock.json /app/ RUN --mount=type=cache,target=/root/.npm \ npm ci --cache=/root/.npm ENV NODE_ENV=${NODE_ENV} COPY . /app/ RUN npm run build # Stage 1, based on Nginx, to have only the compiled app, ready for production with Nginx FROM docker.io/nginx:1 COPY --from=build-stage /app/dist/ /usr/share/nginx/html COPY ./nginx.conf /etc/nginx/conf.d/default.conf COPY ./nginx-backend-not-found.conf /etc/nginx/extra-conf.d/backend-not-found.conf