Files
rrt-sales-wizard/Dockerfile
dnviti cc5b8b32bb
Some checks failed
Build and Deploy / build (push) Failing after 1m34s
first commit
2025-11-23 03:24:27 +01:00

35 lines
936 B
Docker

# --- Stage 1: Build ---
# Usiamo un'immagine Node leggera per compilare l'app
FROM node:20-alpine AS build
# Impostiamo la directory di lavoro
WORKDIR /app
# Copiamo i file di definizione delle dipendenze
COPY package.json package-lock.json* ./
# Installiamo le dipendenze (npm ci è più veloce e sicuro per le build automatizzate)
RUN npm ci
# Copiamo tutto il codice sorgente
COPY . .
# Compiliamo l'app per la produzione (genera la cartella /dist)
RUN npm run build
# --- Stage 2: Production ---
# Usiamo Nginx per servire i file statici (molto più leggero di Node)
FROM nginx:alpine AS production
# Copiamo la configurazione custom di Nginx (vedi file successivo)
COPY nginx.conf /etc/nginx/conf.d/default.conf
# Copiamo i file compilati dallo stage precedente alla cartella di Nginx
COPY --from=build /app/dist /usr/share/nginx/html
# Esponiamo la porta 80
EXPOSE 80
# Avviamo Nginx
CMD ["nginx", "-g", "daemon off;"]