FROM node:20-alpine AS dependencies WORKDIR /app COPY package.json package-lock.json .npmrc ./ RUN npm ci FROM dependencies AS development COPY . . ENV NODE_ENV=development EXPOSE 5173 CMD ["npm", "run", "dev", "--", "--host", "0.0.0.0"] FROM dependencies AS build COPY . . ARG VITE_API_BASE_URL=http://localhost:3701 ENV VITE_API_BASE_URL=${VITE_API_BASE_URL} RUN npm run build FROM nginx:1.27-alpine AS runtime COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /app/dist /usr/share/nginx/html EXPOSE 80 HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD wget --quiet --spider http://127.0.0.1/ || exit 1 CMD ["nginx", "-g", "daemon off;"]