# مرحله اول: Builder FROM node:20-alpine AS builder # اصلاح مِیرور آلپاین به ران‌فلر برای رفع خطای DNS و نصب tzdata RUN sed -i 's|https://dl-cdn.alpinelinux.org|https://alpine.runflare.com|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 ./ # استفاده از رجیستری ران‌فلر با Fallback به رجیستری رسمی (برای اطمینان ۱۰۰٪) RUN npm ci --registry=https://mirror-npm.runflare.com || npm ci --registry=https://registry.npmjs.org # کپی بقیه کدها و بیلد 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;"]