# Stage 1: Build Stage FROM node:20-alpine AS builder WORKDIR /app # Step 1: Dependencies install karein COPY package.json package-lock.json ./ # Agar package-lock nahi hai toh sirf package.json copy karke 'npm install' karein RUN npm install # Step 2: Saara code copy karein COPY . . # Step 3: Production build banayein # Humne next.config.ts mein errors ignore karne ka set kar diya hai RUN npm run build # Stage 2: Runner Stage (Final Image) FROM node:20-alpine AS runner WORKDIR /app # Production environment set karein ENV NODE_ENV production # --- SECRETS & PORT --- # Hugging Face secrets yahan map honge ENV GROQ_API_KEY=$GROQ_API_KEY # Hugging Face default port 7860 use karta hai ENV PORT 7860 EXPOSE 7860 # Step 4: Builder stage se sirf zaruri files copy karein (Optimized size) COPY --from=builder /app/next.config.ts ./ 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 # Step 5: App start karein CMD ["npm", "start", "--", "-p", "7860"]