diff --git a/Dockerfile b/Dockerfile index ae16091..3fbc0b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,21 @@ -# Usa l'immagine Node completa (Debian-based) invece di Alpine -# Questo risolve i problemi di librerie mancanti (glibc) per esbuild/vite +# Usa Node 20 standard (non slim) per garantire tutte le dipendenze di build FROM node:20 AS build WORKDIR /app -# Copiamo package.json COPY package.json ./ -# Installazione standard. -# Rimuoviamo node_modules se presente per sicurezza prima di installare -RUN rm -rf node_modules package-lock.json && \ - npm install +# Installazione standard (veloce, parallela) +RUN npm install -# Copiamo il resto dei file COPY . . -# Eseguiamo la build +# Impostiamo 4GB di RAM per il processo di build (hai ~6GB liberi) +# Questo previene il crash durante la compilazione di librerie pesanti come react-markdown +ENV NODE_OPTIONS="--max-old-space-size=4096" + RUN npm run build -# Stage di produzione FROM nginx:alpine COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /app/dist /usr/share/nginx/html