d7c32dab2a
- BackOffice/docs → totalDoc/backoffice/ (AUDIT + CHANGELOG) - FrontOffice/docs → totalDoc/frontoffice/ (CHANGELOG + UI-UNIFICATION-PLAN) - CMS/README.md → totalDoc/cms/CMS-README.md - DataMigration/README.md → totalDoc/migration/DATAMIGRATION-README.md - deployment/README.md → totalDoc/deployment/DEPLOYMENT-README.md - Updated INDEX.md with new paths and sections
5.5 KiB
5.5 KiB
🚀 FourSat Offline Deployment
این دایرکتوری شامل scripts و مستندات برای deploy کردن سرویسهای FourSat بدون نیاز به اینترنت است.
⚡ Quick Start
گزینه 1: Setup خودکار (پیشنهادی)
روی ماشینی با Docker و اینترنت:
cd /home/masoud/Apps/project/FourSat/deployment
./setup-offline-complete.sh
این اسکریپت:
- ✅ Images را pull میکند
- ✅ Export میکند به
.tar - ✅ به server transfer میکند
- ✅ در containerd server import میکند
- ✅ تمام!
گزینه 2: Setup دستی
اگر Docker روی این ماشین نیست، مستندات کامل را بخوانید:
cat OFFLINE-SETUP-GUIDE.md
📁 فایلهای مهم
🎯 اسکریپتهای اصلی
setup-offline-complete.sh⭐ - Setup کامل خودکار (نیاز به Docker)export-import-images.sh- Export/Import دستی imagesOFFLINE-SETUP-GUIDE.md📚 - راهنمای کامل قدم به قدم
📖 مستندات
README.md- این فایلQUICK-REFERENCE.md- مرجع سریع commandsDEPLOYMENT-GUIDE.md- راهنمای deploymentSERVER-SETUP-GUIDE.md- تنظیمات serverCHANGES-SUMMARY.md- لیست تغییرات انجام شدهSETUP-INSTRUCTIONS.md- دستورالعملهای setup
🛠️ اسکریپتهای کمکی
pull-base-images.sh- Pull کردن base imagessave-images.sh- ذخیره images به tarload-images.sh- بارگذاری images از tarcache-nuget-packages.sh- Cache کردن NuGet packagesbuild-all-offline.sh- Build تمام سرویسها offlinecleanup.sh- پاکسازی فایلهای buildtest-services.sh- تست سرویسهای deploy شدهk8s-deploy.sh- Deploy به Kubernetesk8s-health-check.sh- بررسی سلامت deploymentsquick-start.sh- Setup تعاملیserver-cache-images.sh- Cache images روی serverload-cached-images.sh- بارگذاری cached imagesverify-cache.sh- بررسی cachepull-images-to-node.sh- Pull به Kubernetes node
🔍 چکلیست Setup
- Base images در containerd server (روی node نه pod)
- Workflows بدون proxy تنظیم شدهاند
- DNS = "0.0.0.0" برای جلوگیری از دسترسی به اینترنت
- DOCKER_BUILDKIT=0 برای استفاده از legacy builder
- Test یک workflow برای اطمینان از کار کردن offline
🏗️ معماری Deployment
┌─────────────────────────────────────────┐
│ Kubernetes Cluster (194.5.195.53) │
│ │
│ ┌───────────────────────────────────┐ │
│ │ Node (containerd) │ │
│ │ ├─ mcr.microsoft.com/dotnet/* │ │
│ │ └─ nginx:alpine │ │
│ └───────────────────────────────────┘ │
│ ▲ │
│ │ images available to pods │
│ │ │
│ ┌──────┴──────────────────────────┐ │
│ │ gitea-runner pod │ │
│ │ ├─ dind (Docker-in-Docker) │ │
│ │ └─ runner (Gitea Actions) │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────────┘
کلید موفقیت: Images باید در containerd روی node باشند، نه در pod!
🐛 عیبیابی
❌ Workflow هنوز download میکند؟
# بررسی images روی server
ssh root@194.5.195.53 "ctr -n k8s.io images list | grep mcr.microsoft.com"
اگر خالی است، setup را دوباره اجرا کنید.
❌ Build با error میخورد؟
# بررسی logs workflow در Gitea
# اگر "TLS handshake timeout" میبینید → DNS هنوز active است
# اگر "image not found" میبینید → images در containerd نیستند
❌ Import به containerd کار نمیکند?
# مطمئن شوید namespace درست است
ssh root@194.5.195.53 "ctr namespaces list"
# باید k8s.io را ببینید
# برای import همیشه از -n k8s.io استفاده کنید:
ctr -n k8s.io images import /path/to/image.tar
📞 Support
مشکل دارید? مستندات کامل را بخوانید:
# راهنمای کامل setup offline
cat OFFLINE-SETUP-GUIDE.md
# مرجع سریع commands
cat QUICK-REFERENCE.md
# راهنمای deployment
cat DEPLOYMENT-GUIDE.md
✨ ویژگیها
- ✅ کاملاً Offline - هیچ download در حین build
- ✅ خودکار - یک اسکریپت برای setup کامل
- ✅ مستند شده - راهنماهای جامع فارسی
- ✅ تست شده - روی Kubernetes با k3s
- ✅ سریع - build بدون تاخیر network
نوشته شده برای پروژه FourSat 🛰️