Files
football-next/REQUIRED_SITES.md

146 lines
3.5 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# سایت‌های مورد نیاز برای 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 حجم)