3.5 KiB
3.5 KiB
سایتهای مورد نیاز برای 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
تنظیم در سرور:
# ویرایش DNS
sudo nano /etc/resolv.conf
# اضافه کردن
nameserver 178.22.122.100
nameserver 185.51.200.2
گزینه ۲: استفاده از Docker Registry Mirror ایرانی
تنظیم Docker Mirror:
sudo nano /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.iranrepo.ir",
"https://registry.docker.ir"
]
}
sudo systemctl restart docker
گزینه ۳: استفاده از NPM Registry ایرانی
تنظیم NPM Registry:
npm config set registry https://registry.npmjs.org
# یا
npm config set registry https://npm.iranrepo.ir
گزینه ۴: Build کامل روی سیستم خارج (توصیه میشود)
اگر هیچکدام کار نکرد، بهترین راه:
- روی سرور خارج یا VPS با IP خارج:
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
- انتقال به سرور ایران:
# با scp
scp football-next.tar.gz user@iran-server:/tmp/
# یا آپلود به سرور فایل ایرانی و دانلود روی سرور
- Load در سرور ایران:
gunzip -c football-next.tar.gz | docker load
docker images # بررسی image
تست دسترسی به سایتها:
# تست 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 میگیره، پس نیاز به تنظیمات زیر داره:
- تنظیم DNS سرور (Shecan یا Electro)
- تنظیم Docker Registry Mirror
- یا استفاده از Pre-built Image
استفاده از Pre-built Image در Coolify:
- Image رو روی Docker Hub یا Registry خصوصی push کنید
- در Coolify به جای Git، از "Docker Image" استفاده کنید
- آدرس image رو وارد کنید:
your-username/football-next:latest
خلاصه توصیه:
برای سرور ایران بدون VPN:
- تنظیم Shecan DNS
- تنظیم Docker Mirror ایرانی
- اگر کار نکرد → Build روی سرور خارج و انتقال Image
سریعترین راه: Build روی سرور خارج و انتقال Image (یک بار 200-300MB حجم)