3.7 KiB
3.7 KiB
راهنمای ساده دیپلوی (بدون دسترسی بینالملل)
شما فقط ۲ راه دارید:
🎯 راه ۱: Build روی سیستم دیگه (توصیه میشه)
نیاز: یک سیستم/لپتاپ با VPN یا دسترسی آزاد
گام ۱: Build کردن Image
روی سیستم با VPN:
# Clone
git clone https://mugit.ir/alisaeed/football-next.git
cd football-next
# Build
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" \
.
# Save
docker save football-next:latest | gzip > football-next.tar.gz
گام ۲: انتقال به سرور
# با SCP (اگر IP سرور دارید)
scp football-next.tar.gz user@server-ip:/tmp/
# یا آپلود به سایت فایل ایرانی و لینک دانلود بگیرید
گام ۳: Load در سرور
# SSH به سرور
ssh user@server-ip
# Load
cd /tmp
gunzip -c football-next.tar.gz | docker load
# بررسی
docker images | grep football-next
گام ۴: استفاده در Coolify
- در Coolify → New Resource → Docker Image
- Image Name:
football-next:latest - تنظیم Environment Variables:
DATABASE_URLNEXTAUTH_URLNEXTAUTH_SECRET
- Deploy
✅ تمام!
🎯 راه ۲: Pre-generate کردن Prisma (پیچیدهتر)
نیاز: یک بار روی سیستم با VPN
گام ۱: Generate کردن Prisma
روی سیستم با VPN:
git clone https://mugit.ir/alisaeed/football-next.git
cd football-next
npm install
npx prisma generate
# کپی کردن فایلها
mkdir -p prisma/generated
cp -r node_modules/.prisma/client prisma/generated/.prisma-client
cp -r node_modules/@prisma/client prisma/generated/@prisma-client
گام ۲: Commit و Push
git add prisma/generated Dockerfile
git commit -m "Add pre-generated Prisma client"
git push
گام ۳: Deploy در Coolify
Coolify خودش build میگیره و deploy میکنه.
⚠️ مشکل: ممکنه باز هم به دلیل Docker base image مشکل داشته باشید.
💡 توصیه نهایی
استفاده از راه ۱ چون:
- ✅ ۱۰۰٪ کار میکنه
- ✅ سادهتره
- ✅ سریعتره (یک بار ۲۰۰-۳۰۰ مگ)
- ✅ دیگه نیازی به build روی سرور نیست
حجم و زمان
- حجم فایل: ~250 MB (فشرده شده)
- زمان آپلود با اینترنت ۱۰ مگ: ~4 دقیقه
- زمان download در سرور: ~2 دقیقه
سوالات متداول
س: آیا هر بار باید دوباره build بگیرم؟ ج: بله، هر بار که کد تغییر کرد.
س: آیا میتونم از Docker Hub استفاده کنم؟ ج: اگر سرور به Docker Hub دسترسی داره، بله:
docker push your-username/football-next:latest
# در سرور:
docker pull your-username/football-next:latest
س: آیا میتونم از GitHub Actions استفاده کنم؟ ج: بله! میتونید یک workflow بسازید که خودکار build بگیره و push کنه.
Environment Variables مورد نیاز
DATABASE_URL=postgresql://username:password@host:5432/database_name
NEXTAUTH_URL=https://your-domain.com
NEXTAUTH_SECRET=your-secret-key-minimum-32-characters-long
IPPANEL_TOKEN=your-token-if-you-have (optional)
کمک بیشتر
DEPLOY_RUNFLARE.md- جزئیات بیشترREQUIRED_SITES.md- لیست سایتهای مورد نیاز