# Fase 1: Build
FROM node:18-alpine AS builder

# Imposta la directory di lavoro
WORKDIR /app

# Copia i file di configurazione e dipendenze
COPY package.json pnpm-lock.yaml* ./

# Installa le dipendenze
RUN npm install --force

# Copia il resto dei file dell'app
COPY . .

# Build dell'app Next.js
RUN npm run build

# Fase 2: Runtime (immagine più leggera)
FROM node:18-alpine AS runner

# Imposta la directory di lavoro
WORKDIR /app

# Imposta variabile d'ambiente per produzione
ENV NODE_ENV=production

# Copia solo ciò che serve per l'esecuzione
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./package.json

# Porta esposta (3000 di default per Next.js)
EXPOSE 3000

# Comando di avvio
CMD ["npm", "start"]
