# Build Stage FROM node:20-slim as build # Installiamo tool di compilazione necessari per alcune dipendenze Node (es. esbuild/vite) RUN apt-get update && apt-get install -y python3 make g++ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Copiamo SOLO package.json (ignoriamo package-lock.json per evitare conflitti di OS) COPY package.json ./ # Installazione pulita ignorando il lockfile locale RUN npm install --no-package-lock # Copiamo il resto dei file (grazie al .dockerignore, la cartella node_modules locale NON verrĂ  copiata) COPY . . # Build RUN npm run build # Production Stage FROM nginx:alpine COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /app/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]