mirror of
https://github.com/cdr/code-server.git
synced 2025-12-08 17:34:01 +01:00
This commit introduces the necessary files and configurations to deploy the Cursor AI IDE to Cloudflare Workers and Pages. It includes setup scripts, backend and frontend code adjustments, and wrangler configuration for seamless deployment. Co-authored-by: logato7838 <logato7838@vsihay.com> |
||
|---|---|---|
| .. | ||
| backend | ||
| frontend | ||
| CLOUDFLARE_SETUP.md | ||
| deploy.sh | ||
| README.md | ||
| wrangler.toml | ||
Cloudflare Setup - Cursor Full Stack AI IDE
🌐 إعداد Cloudflare للعمل مع التطبيق
هذا الدليل يوضح كيفية إعداد التطبيق للعمل على Cloudflare Workers وPages.
🚀 البدء السريع
1. تثبيت المتطلبات
# تثبيت Wrangler CLI
npm install -g wrangler
# تسجيل الدخول إلى Cloudflare
wrangler login
2. نشر التطبيق
# تشغيل سكريبت النشر
./deploy.sh --subdomain your-subdomain
# أو مع domain مخصص
./deploy.sh --subdomain your-subdomain --domain yourdomain.com
📦 هيكل المشروع
cloudflare/
├── wrangler.toml # إعدادات Cloudflare
├── deploy.sh # سكريبت النشر
├── README.md # هذا الملف
├── CLOUDFLARE_SETUP.md # دليل الإعداد المفصل
├── backend/ # Backend (Workers)
│ ├── index.js # Main worker code
│ └── websocket-do.js # WebSocket Durable Object
└── frontend/ # Frontend (Pages)
├── package.json # Frontend dependencies
├── vite.config.js # Vite configuration
└── src/ # React source code
├── App.tsx # Main app component
└── components/ # React components
🔧 الميزات
Backend (Cloudflare Workers)
- 5 AI Providers: OpenAI, Anthropic, Google, Mistral, OpenRouter
- 18+ Tools: File operations, Git, Terminal, Docker, NPM
- WebSocket Support: Real-time communication with Durable Objects
- KV Storage: API keys and session data
- R2 Storage: File storage and workspace
- Global Edge: Deployed to 200+ locations worldwide
Frontend (Cloudflare Pages)
- React + Vite: Modern frontend framework
- Monaco Editor: VS Code editor experience
- Real-time Chat: WebSocket communication
- Tool Panel: Interactive tool execution
- Status Bar: Real-time system information
- Responsive Design: Works on all devices
🚀 النشر
النشر التلقائي
# نشر مع subdomain افتراضي
./deploy.sh
# نشر مع subdomain مخصص
./deploy.sh --subdomain my-cursor-ide
# نشر مع domain مخصص
./deploy.sh --subdomain my-cursor-ide --domain mydomain.com
النشر اليدوي
# نشر Backend
cd backend
wrangler deploy
# نشر Frontend
cd frontend
npm run build
wrangler pages deploy dist
🌍 الروابط
بعد النشر، سيكون التطبيق متاحاً على:
Backend (Workers)
- URL:
https://cursor-backend.your-subdomain.workers.dev - WebSocket:
wss://cursor-backend.your-subdomain.workers.dev - Health Check:
https://cursor-backend.your-subdomain.workers.dev/health
Frontend (Pages)
- URL:
https://cursor-frontend.your-subdomain.pages.dev - Custom Domain:
https://cursor-frontend.yourdomain.com(if configured)
⚙️ الإعداد
1. متغيرات البيئة
# إضافة متغيرات البيئة للBackend
wrangler secret put NODE_ENV
wrangler secret put CORS_ORIGIN
# إضافة متغيرات البيئة للFrontend
wrangler pages secret put VITE_BACKEND_URL
wrangler pages secret put VITE_WS_URL
2. Storage
# إعداد KV Storage
wrangler kv:namespace create "API_KEYS"
wrangler kv:namespace create "FILE_STORAGE"
# إعداد R2 Storage
wrangler r2 bucket create cursor-files
3. Durable Objects
# إعداد WebSocket Durable Object
wrangler durable-object create WebSocketDO
📊 الأداء
Cloudflare Edge
- Global CDN: 200+ locations worldwide
- Low Latency: < 50ms response time
- High Availability: 99.99% uptime
- Auto Scaling: Handles traffic spikes
Workers Performance
- Cold Start: ~50ms
- Throughput: 100,000 requests/second
- Memory: 128MB per request
- CPU Time: 10ms per request
Pages Performance
- Build Time: ~2-3 minutes
- Deploy Time: ~1-2 minutes
- Cache: Global edge caching
- Compression: Automatic gzip/brotli
🔒 الأمان
Cloudflare Security
- DDoS Protection: Automatic mitigation
- WAF: Web Application Firewall
- SSL/TLS: Automatic certificate management
- Rate Limiting: Built-in protection
Application Security
- API Key Storage: Encrypted in KV Storage
- CORS: Configured for your domain
- Input Validation: All inputs validated
- Error Handling: Secure error messages
📈 المراقبة
Cloudflare Analytics
- Request Metrics: Requests, errors, latency
- Bandwidth: Data transfer statistics
- Cache Hit Rate: CDN performance
- Security Events: Threats blocked
Application Logs
# عرض logs للBackend
wrangler tail cursor-backend
# عرض logs للFrontend
wrangler pages tail cursor-frontend
🔧 استكشاف الأخطاء
مشاكل شائعة
-
WebSocket Connection Failed
- تحقق من Durable Object configuration
- تأكد من WebSocket URL صحيح
-
API Keys Not Working
- تحقق من KV Storage configuration
- تأكد من API key format صحيح
-
File Operations Failed
- تحقق من R2 Storage configuration
- تأكد من permissions صحيحة
حل المشاكل
# فحص حالة Workers
wrangler whoami
# فحص logs
wrangler tail cursor-backend --format=pretty
# فحص KV Storage
wrangler kv:key list --namespace-id=YOUR_NAMESPACE_ID
🎯 أفضل الممارسات
1. Code Organization
- استخدم modules منفصلة
- نظم الكود في مجلدات منطقية
- استخدم TypeScript للtype safety
2. Error Handling
- معالجة جميع الأخطاء
- إرجاع رسائل خطأ واضحة
- استخدام try-catch blocks
3. Performance
- استخدم caching عند الإمكان
- قلل من حجم البيانات المرسلة
- استخدم compression
📞 الدعم
Cloudflare Support
Community
🎉 النشر النهائي
1. Production Deployment
# نشر مع إعدادات production
./deploy.sh --subdomain production --domain yourdomain.com
2. Custom Domain Setup
# إضافة custom domain
wrangler custom-domains add cursor-backend.yourdomain.com
wrangler custom-domains add cursor-frontend.yourdomain.com
3. SSL Certificate
- Cloudflare SSL مفعل تلقائياً
- دعم HTTP/2 وHTTP/3
- أمان عالي
تطبيق Cursor Full Stack AI IDE جاهز للعمل على Cloudflare! 🚀
استمتع بأداء عالي وأمان متقدم! 🌍