Add ComfyUI configuration for image generation with ROCm support
- Docker Compose setup with ROCm for RX 7800 XT (gfx1101) - Auto-download script for SDXL models - Basic SDXL workflow for testing - Full documentation in README.md - Update .gitignore to exclude model files (too large)
This commit is contained in:
@@ -0,0 +1,181 @@
|
||||
# 🎨 Effi - ComfyUI (Génération d'Images)
|
||||
|
||||
Configuration Docker de ComfyUI avec support ROCm pour RX 7800 XT.
|
||||
|
||||
## 📋 Prérequis
|
||||
|
||||
- Docker et Docker Compose installés
|
||||
- ROCm 6.x installé sur l'hôte
|
||||
- RX 7800 XT (16GB VRAM)
|
||||
- ~20GB d'espace disque libre
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### 1. Copier cette configuration sur folzo-Corp
|
||||
|
||||
```bash
|
||||
cd ~/
|
||||
git clone https://gitea.folzocorp.fr/Folzo/effi.git
|
||||
cd effi/comfyui
|
||||
```
|
||||
|
||||
### 2. Télécharger le modèle SDXL Base
|
||||
|
||||
```bash
|
||||
# Créer le dossier models/checkpoints
|
||||
mkdir -p models/checkpoints
|
||||
|
||||
# Télécharger SDXL Base (6.9GB)
|
||||
wget -O models/checkpoints/sd_xl_base_1.0.safetensors \
|
||||
"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
|
||||
|
||||
# Alternative avec huggingface-cli (si installé)
|
||||
# huggingface-cli download stabilityai/stable-diffusion-xl-base-1.0 \
|
||||
# sd_xl_base_1.0.safetensors --local-dir models/checkpoints
|
||||
```
|
||||
|
||||
### 3. Lancer ComfyUI
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### 4. Vérifier le fonctionnement
|
||||
|
||||
```bash
|
||||
# Logs
|
||||
docker logs -f comfyui
|
||||
|
||||
# Accès web
|
||||
http://192.168.1.11:8188
|
||||
```
|
||||
|
||||
## 🔧 Configuration ROCm
|
||||
|
||||
Cette configuration utilise les variables d'environnement ROCm pour la RX 7800 XT:
|
||||
|
||||
- `HIP_VISIBLE_DEVICES=0` - Utilise le premier GPU
|
||||
- `HSA_OVERRIDE_GFX_VERSION=11.0.1` - Force l'architecture gfx1101 (Navi 32)
|
||||
- `PYTORCH_HIP_ALLOC_CONF=expandable_segments:True` - Optimisation mémoire PyTorch
|
||||
|
||||
## 📁 Structure des dossiers
|
||||
|
||||
```
|
||||
comfyui/
|
||||
├── docker-compose.yml # Configuration Docker
|
||||
├── models/
|
||||
│ ├── checkpoints/ # Modèles principaux (SDXL, etc.)
|
||||
│ ├── vae/ # Encodeurs/décodeurs VAE
|
||||
│ └── loras/ # Modères LoRA pour fine-tuning
|
||||
├── output/ # Images générées
|
||||
├── input/ # Images d'entrée (img2img)
|
||||
├── custom_nodes/ # Extensions ComfyUI
|
||||
└── workflows/ # Workflows sauvegardés
|
||||
```
|
||||
|
||||
## 🖼️ Modèles recommandés
|
||||
|
||||
### Pour RX 7800 XT 16GB
|
||||
|
||||
| Modèle | Taille | VRAM | Usage |
|
||||
|--------|--------|------|-------|
|
||||
| SDXL Base 1.0 | 6.9GB | 8-10GB | Usage général |
|
||||
| SDXL Lightning | 6.9GB | 8-10GB | Génération rapide |
|
||||
| RealVisXL | 6.9GB | 8-10GB | Photoréalisme |
|
||||
|
||||
### Commandes de téléchargement
|
||||
|
||||
```bash
|
||||
# SDXL Base
|
||||
wget -O models/checkpoints/sd_xl_base_1.0.safetensors \
|
||||
"https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"
|
||||
|
||||
# SDXL VAE (optionnel mais recommandé)
|
||||
wget -O models/vae/sdxl_vae.safetensors \
|
||||
"https://huggingface.co/stabilityai/sdxl-vae/resolve/main/diffusion_pytorch_model.safetensors"
|
||||
```
|
||||
|
||||
## 🔌 Intégration OpenWebUI
|
||||
|
||||
Dans OpenWebUI (http://192.168.1.27:3000):
|
||||
|
||||
1. Aller dans **Admin Panel** → **Settings** → **Images**
|
||||
2. **Image Generation Engine**: ComfyUI
|
||||
3. **ComfyUI URL**: `http://192.168.1.11:8188`
|
||||
4. **ComfyUI Workflow**: Default
|
||||
5. Sauvegarder
|
||||
|
||||
## 🧪 Tests
|
||||
|
||||
### Test via interface web
|
||||
|
||||
1. Ouvrir http://192.168.1.11:8188
|
||||
2. Charger un workflow (bouton **Load**)
|
||||
3. Sélectionner le modèle SDXL dans le nœud "Load Checkpoint"
|
||||
4. Modifier le prompt
|
||||
5. Cliquer **Queue Prompt**
|
||||
|
||||
### Test via OpenWebUI
|
||||
|
||||
Dans une conversation avec Effi:
|
||||
```
|
||||
Dessine-moi un chat astronaute sur la lune
|
||||
```
|
||||
|
||||
## 🐛 Dépannage
|
||||
|
||||
### ComfyUI ne démarre pas
|
||||
|
||||
```bash
|
||||
# Vérifier les logs
|
||||
docker logs comfyui
|
||||
|
||||
# Vérifier que ROCm est accessible
|
||||
docker exec -it comfyui rocm-smi
|
||||
```
|
||||
|
||||
### Erreur mémoire GPU
|
||||
|
||||
Réduire la résolution dans le workflow (max 1024x1024 pour SDXL).
|
||||
|
||||
### Modèle non trouvé
|
||||
|
||||
Vérifier que le fichier `.safetensors` est bien dans `models/checkpoints/`.
|
||||
|
||||
### Accès refusé (SELinux)
|
||||
|
||||
Les volumes utilisent le flag `:Z` pour SELinux. Si problème persiste:
|
||||
```bash
|
||||
sudo chown -R $USER:$USER models/ output/ input/
|
||||
```
|
||||
|
||||
## 📊 Monitoring
|
||||
|
||||
```bash
|
||||
# Surveiller l'utilisation GPU
|
||||
watch -n 1 docker exec comfyui rocm-smi
|
||||
|
||||
# Espace disque utilisé
|
||||
du -sh models/*
|
||||
```
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
- ComfyUI écoute sur `0.0.0.0` (toutes les interfaces)
|
||||
- Pas d'authentification par défaut
|
||||
- Accessible uniquement depuis le réseau local
|
||||
- Port non exposé sur Internet
|
||||
|
||||
## 📝 Notes
|
||||
|
||||
- Premier démarrage peut être long (téléchargement des dépendances)
|
||||
- La génération d'image utilise ~8-10GB VRAM
|
||||
- Laisser de la marge pour Ollama (~6GB)
|
||||
- Les workflows peuvent être sauvegardés/chargés via l'interface
|
||||
|
||||
## 🆘 Support
|
||||
|
||||
En cas de problème:
|
||||
1. Vérifier `docker logs comfyui`
|
||||
2. Vérifier `rocm-smi` sur l'hôte
|
||||
3. Consulter https://github.com/comfyanonymous/ComfyUI
|
||||
Reference in New Issue
Block a user