From 521019617ca0406843d4f080bc4916d04739d1d9 Mon Sep 17 00:00:00 2001 From: fcarraUniSa Date: Wed, 18 Feb 2026 10:42:12 +0100 Subject: [PATCH] Update Dockerfile --- Dockerfile | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index f7c8747..b048933 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,35 +1,28 @@ -# Stage 1: Build dell'applicazione React +# Build Stage FROM node:20-alpine as build WORKDIR /app -# Copia i file di dipendenze -COPY package*.json ./ +# Copiamo solo il package.json inizialmente +COPY package.json ./ -# Installa le dipendenze +# PASSAGGIO CRUCIALE: Rimuoviamo eventuali lock file vecchi e forziamo installazione pulita +RUN rm -rf package-lock.json node_modules RUN npm install -# Copia tutto il codice sorgente +# Copiamo tutto il resto del codice sorgente COPY . . -# Argomento per la build (opzionale) -ARG API_KEY -ENV API_KEY=$API_KEY - -# Esegue la build di Vite (crea la cartella /dist) -# Se l'API_KEY non c'è, il codice userà la stringa vuota come da logica applicativa +# Eseguiamo la build di Vite RUN npm run build -# Stage 2: Server Web Nginx +# Production Stage con Nginx FROM nginx:alpine -# Copia i file compilati dallo stage precedente -COPY --from=build /app/dist /usr/share/nginx/html - -# Copia la configurazione custom di Nginx (necessaria per React Router) +# Copia la configurazione Nginx custom COPY nginx.conf /etc/nginx/conf.d/default.conf -# Espone la porta 80 -EXPOSE 80 +# Copia i file compilati dalla fase di build nella cartella di Nginx +COPY --from=build /app/dist /usr/share/nginx/html -# Avvia Nginx +EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]