# سایت‌های مورد نیاز برای Build و Deploy ## سایت‌های اصلی که باید باز باشند: ### ۱. برای Docker Build ``` registry.hub.docker.com (Docker Hub) registry-1.docker.io production.cloudflare.docker.com ``` ### ۲. برای NPM Packages ``` registry.npmjs.org registry.npmjs.com ``` ### ۳. برای Prisma (مشکل اصلی!) ``` binaries.prisma.sh binaries.prismacdn.com ``` ### ۴. برای Node.js Base Image ``` hub.docker.com ``` ## راه‌حل‌ها برای دسترسی محدود: ### گزینه ۱: استفاده از Shecan یا Electro DNS (ساده‌ترین) این DNS‌ها معمولاً دسترسی به سایت‌های فنی رو باز می‌کنند: **Shecan:** - Primary: `178.22.122.100` - Secondary: `185.51.200.2` **Electro:** - Primary: `78.157.42.100` - Secondary: `78.157.42.101` **تنظیم در سرور:** ```bash # ویرایش DNS sudo nano /etc/resolv.conf # اضافه کردن nameserver 178.22.122.100 nameserver 185.51.200.2 ``` ### گزینه ۲: استفاده از Docker Registry Mirror ایرانی **تنظیم Docker Mirror:** ```bash sudo nano /etc/docker/daemon.json ``` ```json { "registry-mirrors": [ "https://docker.iranrepo.ir", "https://registry.docker.ir" ] } ``` ```bash sudo systemctl restart docker ``` ### گزینه ۳: استفاده از NPM Registry ایرانی **تنظیم NPM Registry:** ```bash npm config set registry https://registry.npmjs.org # یا npm config set registry https://npm.iranrepo.ir ``` ### گزینه ۴: Build کامل روی سیستم خارج (توصیه می‌شود) اگر هیچ‌کدام کار نکرد، بهترین راه: 1. **روی سرور خارج یا VPS با IP خارج:** ```bash git clone https://mugit.ir/alisaeed/football-next.git cd football-next docker build -t football-next:latest \ --build-arg DATABASE_URL="postgresql://user:pass@host:5432/db" \ --build-arg NEXTAUTH_URL="https://yourdomain.com" \ --build-arg NEXTAUTH_SECRET="your-secret-min-32-chars" \ . docker save football-next:latest | gzip > football-next.tar.gz ``` 2. **انتقال به سرور ایران:** ```bash # با scp scp football-next.tar.gz user@iran-server:/tmp/ # یا آپلود به سرور فایل ایرانی و دانلود روی سرور ``` 3. **Load در سرور ایران:** ```bash gunzip -c football-next.tar.gz | docker load docker images # بررسی image ``` ## تست دسترسی به سایت‌ها: ```bash # تست DNS و دسترسی ping registry.npmjs.org ping binaries.prisma.sh curl -I https://registry.npmjs.org curl -I https://binaries.prisma.sh ``` ## اگر Coolify استفاده می‌کنید: Coolify خودش Docker build می‌گیره، پس نیاز به تنظیمات زیر داره: 1. **تنظیم DNS سرور** (Shecan یا Electro) 2. **تنظیم Docker Registry Mirror** 3. **یا استفاده از Pre-built Image** ### استفاده از Pre-built Image در Coolify: 1. Image رو روی Docker Hub یا Registry خصوصی push کنید 2. در Coolify به جای Git، از "Docker Image" استفاده کنید 3. آدرس image رو وارد کنید: `your-username/football-next:latest` ## خلاصه توصیه: **برای سرور ایران بدون VPN:** 1. تنظیم Shecan DNS 2. تنظیم Docker Mirror ایرانی 3. اگر کار نکرد → Build روی سرور خارج و انتقال Image **سریع‌ترین راه:** Build روی سرور خارج و انتقال Image (یک بار 200-300MB حجم)