# مرحله اول: Builder FROM node:20-alpine AS builder # تنظیم مخازن آلپاین برای سرعت بیشتر در ایران (اختیاری - همان که داشتید) RUN sed -i 's|https://dl-cdn.alpinelinux.org|https://mirror.de.velop.ir|g' /etc/apk/repositories \ && apk add --no-cache tzdata \ && cp /usr/share/zoneinfo/Asia/Tehran /etc/localtime \ && echo "Asia/Tehran" > /etc/timezone WORKDIR /build # کپی کردن فایل‌های تنظیمات ابتدا برای استفاده از کش لایه‌ها COPY package*.json ./ # استفاده از رجیستری رسمی برای دسترسی به آخرین نسخه پکیج‌ها RUN npm ci --registry=https://mirror-npm.runflare.com # کپی بقیه کدها COPY . . # اجرای بیلد RUN npm run build # مرحله دوم: Serving (مثلاً با Nginx) FROM nginx:alpine # کپی فایل‌های بیلد شده از مرحله قبل به پوشه پیش‌فرض nginx COPY --from=builder /build/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]