diff --git a/Dockerfile b/Dockerfile index c1f8637..a320773 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,29 +1,27 @@ # مرحله اول: 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 \ +# اصلاح مِیرور آلپاین به ران‌فلر برای رفع خطای 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 ./ -# استفاده از رجیستری رسمی برای دسترسی به آخرین نسخه پکیج‌ها -RUN npm ci --registry=https://mirror-npm.runflare.com +# استفاده از رجیستری ران‌فلر با Fallback به رجیستری رسمی (برای اطمینان ۱۰۰٪) +RUN npm ci --registry=https://mirror-npm.runflare.com || npm ci --registry=https://registry.npmjs.org -# کپی بقیه کدها +# کپی بقیه کدها و بیلد COPY . . - -# اجرای بیلد RUN npm run build -# مرحله دوم: Serving (مثلاً با Nginx) +# مرحله دوم: Serving با Nginx FROM nginx:alpine -# کپی فایل‌های بیلد شده از مرحله قبل به پوشه پیش‌فرض nginx +# کپی فایل‌های تولید شده به Nginx COPY --from=builder /build/dist /usr/share/nginx/html EXPOSE 80