ComfyUI/ComfyUI-master/README.md
Bahadir Ciloglu 9eb154e0ea Add GitHub Actions CI/CD pipeline with RunPod integration
- Automated testing and validation
- Docker build and push to GHCR
- Automatic RunPod build triggering on success
- Comprehensive error handling and notifications
- Documentation and setup guides
2025-11-01 15:48:04 +03:00

220 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

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.

# ComfyUI RunPod Serverless
Bu repository, ComfyUI'nin RunPod Serverless platformunda çalışması için optimize edilmiş versiyonudur.
## 🚀 Özellikler
- **RunPod Serverless** desteği
- **Otomatik scaling** ve queue yönetimi
- **GPU optimizasyonları** (FP16, FP8, XFormers)
- **Yeni API servisleri** (Minimax, ByteDance, Ideogram, vb.)
- **GitHub Actions CI/CD** pipeline
- **Otomatik build** tetikleme
## 📦 Kurulum
### RunPod Serverless Endpoint Oluşturma
1. **RunPod Dashboard**'a git
2. **Serverless****New Endpoint**
3. **GitHub Repository** seç:
- Repository: `bahadirciloglu/ComfyUI`
- Branch: `create_image`
- Dockerfile Path: `Dockerfile`
- Build Context: `.`
4. **GPU Configuration**:
- Önerilen: 32GB veya 24GB
- Worker Type: GPU
- Endpoint Type: Queue
5. **Environment Variables** ekle:
```
RUNPOD_API_KEY=your_api_key
CIVITAI_API_KEY=your_civitai_key
HUGGINGFACE_USERNAME=your_username
HUGGINGFACE_PASSWORD=your_password
COMFYUI_SERVERLESS=true
COMFYUI_FAST_MODE=true
```
### GitHub Secrets Ayarlama
Repository Settings → Secrets and variables → Actions:
```
RUNPOD_API_KEY=your_runpod_api_key
RUNPOD_ENDPOINT_ID=your_endpoint_id
```
## 🔄 CI/CD Pipeline
### Otomatik İş Akışı
1. **Code Push**`create_image` branch
2. **GitHub Actions** çalışır:
- Python syntax kontrolü
- Dockerfile validasyonu
- Docker build testi
- Container registry'ye push
3. **Başarılı olursa** → RunPod build tetiklenir
4. **Hata varsa** → RunPod build tetiklenmez
### Manuel Test
```bash
# Sadece testleri çalıştır
gh workflow run test-only.yml
# Full pipeline çalıştır
git push origin create_image
```
## 🧪 Test Etme
### API Request Örneği
```bash
curl -X POST https://api.runpod.ai/v2/YOUR_ENDPOINT_ID/runsync \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"input": {
"workflow": {
"3": {
"inputs": {
"seed": 42,
"steps": 20,
"cfg": 7.0,
"sampler_name": "euler",
"scheduler": "normal",
"denoise": 1.0,
"model": ["4", 0],
"positive": ["6", 0],
"negative": ["7", 0],
"latent_image": ["5", 0]
},
"class_type": "KSampler"
},
"4": {
"inputs": {
"ckpt_name": "sd_xl_base_1.0.safetensors"
},
"class_type": "CheckpointLoaderSimple"
},
"5": {
"inputs": {
"width": 1024,
"height": 1024,
"batch_size": 1
},
"class_type": "EmptyLatentImage"
},
"6": {
"inputs": {
"text": "a beautiful landscape",
"clip": ["4", 1]
},
"class_type": "CLIPTextEncode"
},
"7": {
"inputs": {
"text": "blurry, low quality",
"clip": ["4", 1]
},
"class_type": "CLIPTextEncode"
},
"8": {
"inputs": {
"samples": ["3", 0],
"vae": ["4", 2]
},
"class_type": "VAEDecode"
},
"9": {
"inputs": {
"filename_prefix": "ComfyUI",
"images": ["8", 0]
},
"class_type": "SaveImage"
}
}
}
}'
```
## 📊 Monitoring
### Build Status
- GitHub Actions: Repository → Actions tab
- RunPod: Dashboard → Serverless → Your Endpoint → Builds
### Logs
- RunPod Dashboard → Logs tab
- Real-time monitoring
### Metrics
- Request volume
- Worker scaling
- Billing information
## 🔧 Geliştirme
### Yerel Test
```bash
# Environment setup
cp .env.example .env
# .env dosyasını düzenle
# Docker build test
docker build -t comfyui-test .
# Container test
docker run -p 8000:8000 comfyui-test
```
### Yeni Özellik Ekleme
1. Feature branch oluştur
2. Değişiklikleri yap
3. Pull request aç
4. CI testleri geçince merge et
5. `create_image` branch'ına merge olunca otomatik deploy
## 📝 Environment Variables
Tüm environment variables için `.env.example` dosyasına bakın.
### Temel Ayarlar
- `RUNPOD_API_KEY`: RunPod API anahtarı
- `COMFYUI_SERVERLESS=true`: Serverless modu
- `COMFYUI_FAST_MODE=true`: Hızlı optimizasyonlar
### Performance Ayarları
- `COMFYUI_FP16_ACCUMULATION=true`: FP16 hızlandırma
- `COMFYUI_VRAM_MANAGEMENT=auto`: VRAM yönetimi
- `COMFYUI_CACHE_TYPE=none`: Serverless için cache
## 🆘 Sorun Giderme
### Build Hataları
1. GitHub Actions logs kontrol et
2. Dockerfile syntax kontrol et
3. Python syntax hataları düzelt
### Runtime Hataları
1. RunPod logs kontrol et
2. Environment variables kontrol et
3. Model dosyaları kontrol et
### Performance Sorunları
1. GPU memory kullanımı kontrol et
2. Batch size ayarla
3. Cache ayarlarını optimize et
## 📞 Destek
- GitHub Issues: Hata raporları ve özellik istekleri
- RunPod Discord: Platform desteği
- ComfyUI Community: Workflow yardımı