# مرحله اول: Builder FROM node:20-alpine AS builder # تنظیم مخازن آلپاین برای استفاده از مِیرور Runflare 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 ./ # استفاده از رجیستری Runflare برای نصب پکیج‌ها RUN npm ci --registry=https://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;"]