# --- ETAPA 1: Construir el Frontend de React --- FROM node:20-alpine AS builder WORKDIR /app COPY package.json . RUN npm install # --- AQUÍ RECIBIMOS LAS VARIABLES SECRETAS --- # Definimos que esperamos estos argumentos ARG VITE_FIREBASE_API_KEY ARG VITE_FIREBASE_AUTH_DOMAIN ARG VITE_FIREBASE_PROJECT_ID ARG VITE_FIREBASE_STORAGE_BUCKET ARG VITE_FIREBASE_MESSAGING_SENDER_ID ARG VITE_FIREBASE_APP_ID # Las convertimos en variables de entorno para el comando build ENV VITE_FIREBASE_API_KEY=$VITE_FIREBASE_API_KEY ENV VITE_FIREBASE_AUTH_DOMAIN=$VITE_FIREBASE_AUTH_DOMAIN ENV VITE_FIREBASE_PROJECT_ID=$VITE_FIREBASE_PROJECT_ID ENV VITE_FIREBASE_STORAGE_BUCKET=$VITE_FIREBASE_STORAGE_BUCKET ENV VITE_FIREBASE_MESSAGING_SENDER_ID=$VITE_FIREBASE_MESSAGING_SENDER_ID ENV VITE_FIREBASE_APP_ID=$VITE_FIREBASE_APP_ID COPY . . RUN npm run build # --- ETAPA 2: Servidor de Producción --- FROM node:20-alpine WORKDIR /app COPY package.json . RUN npm install --omit=dev COPY server.mjs . COPY --from=builder /app/dist ./dist EXPOSE 7860 CMD ["node", "server.mjs"]