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;"]