From fe0024db55b4eafa75cceec564ebe07e6f7556ff Mon Sep 17 00:00:00 2001 From: fcarraUniSa Date: Wed, 18 Feb 2026 11:01:15 +0100 Subject: [PATCH] Update Dockerfile --- Dockerfile | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8a85af4..8c5e7b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,29 +1,26 @@ -# Build Stage - Usiamo Debian slim per evitare errori di librerie mancanti +# 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 i file di definizione delle dipendenze -COPY package*.json ./ +# Copiamo SOLO package.json (ignoriamo package-lock.json per evitare conflitti di OS) +COPY package.json ./ -# Puliamo la cache di npm e installiamo le dipendenze -# L'uso di && concatena i comandi per ridurre i layer -RUN npm cache clean --force && npm install +# Installazione pulita ignorando il lockfile locale +RUN npm install --no-package-lock -# Copiamo tutto il resto del codice sorgente +# Copiamo il resto dei file (grazie al .dockerignore, la cartella node_modules locale NON verrà copiata) COPY . . -# Eseguiamo la build di Vite +# Build RUN npm run build -# Production Stage - Nginx va bene Alpine perché serve solo file statici +# Production Stage FROM nginx:alpine - -# Copia la configurazione Nginx custom COPY nginx.conf /etc/nginx/conf.d/default.conf - -# Copia i file compilati dalla fase di build nella cartella di Nginx COPY --from=build /app/dist /usr/share/nginx/html - EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]