73e4fc005e
Server UI gains Update on stack cards, ComfyUI Models tab with workflow scan and downloads, and centralized comfyui_config. Model catalog and download scripts move from stacks/comfyui to server-ui so ComfyUI stays a minimal Docker wrapper for easier image updates.
85 lines
2.9 KiB
Markdown
85 lines
2.9 KiB
Markdown
# ComfyUI stack
|
|
|
|
[ComfyUI](https://github.com/comfyanonymous/ComfyUI) w Dockerze — obraz upstream [`yanwk/comfyui-boot:cu126-slim`](https://github.com/YanWenKun/ComfyUI-Docker). Stack **nie modyfikuje** ComfyUI; to tylko compose + lifecycle. Katalog modeli, pobieranie i skan workflow są w [**Server UI**](../server-ui/README.md) (`:8091` → zakładka **ComfyUI Modele**).
|
|
|
|
## Porty
|
|
|
|
| Serwis | Port | URL |
|
|
|--------|------|-----|
|
|
| ComfyUI web UI | **8188** | `http://HOST:8188` |
|
|
| Server UI (modele, stacki) | **8091** | `http://HOST:8091` |
|
|
|
|
## Struktura (repo)
|
|
|
|
```
|
|
stacks/comfyui/
|
|
├── docker-compose.yml
|
|
├── .env.example
|
|
└── scripts/
|
|
├── ensure-dirs.sh
|
|
├── pull.sh
|
|
└── start.sh
|
|
```
|
|
|
|
## Dane na hoście (`/data/apps/comfyui/`)
|
|
|
|
| Katalog | Zawartość |
|
|
|---------|-----------|
|
|
| `storage/` | Kopia ComfyUI z obrazu (pierwszy start) |
|
|
| `models/` | Checkpointy, LoRA, VAE, … |
|
|
| `custom_nodes/` | ComfyUI-Manager i wtyczki |
|
|
| `workflows/` | JSON workflow (bind → `user/default/workflows`) |
|
|
| `input/`, `output/`, `cache/` | Wejścia, wyniki, cache HF/torch |
|
|
|
|
Update kontenera (`docker compose pull` + recreate) **nie usuwa** tych danych — wszystko to bind-mounty.
|
|
|
|
## Szybki start
|
|
|
|
```bash
|
|
cd stacks/comfyui
|
|
cp .env.example .env
|
|
./scripts/start.sh
|
|
```
|
|
|
|
Weryfikacja: `curl -f http://127.0.0.1:8188/`
|
|
|
|
## Polityka GPU
|
|
|
|
RTX 3090 Ti — jeden duży workload GPU naraz (LocalAI **lub** ComfyUI z dużym modelem). `start.sh` ostrzega, gdy `localai` działa. W Server UI: Stop/Start stacków.
|
|
|
|
## Update ComfyUI
|
|
|
|
Zalecane: Server UI → karta **ComfyUI** → **Update** (pull + recreate gdy działa).
|
|
|
|
CLI:
|
|
|
|
```bash
|
|
./scripts/pull.sh # tylko obraz
|
|
./scripts/start.sh # start z nowym obrazem
|
|
```
|
|
|
|
### Checklist po update obrazu
|
|
|
|
1. `curl -f http://127.0.0.1:8188/` — UI ComfyUI działa
|
|
2. Server UI → **ComfyUI Modele** → odśwież — skan workflow OK
|
|
3. Test pobrania modelu (katalog lub Custom URL) — job `completed`
|
|
4. Healthcheck fail → sprawdź, czy obraz ma `curl` na porcie 8188
|
|
5. Pusty skan workflow → zweryfikuj mount `workflows` → `user/default/workflows` w [docs yanwk](https://github.com/YanWenKun/ComfyUI-Docker)
|
|
|
|
## Modele i workflow
|
|
|
|
- **Server UI** (zalecane): katalog, workflow scan, pobieranie — [`../server-ui/README.md`](../server-ui/README.md)
|
|
- **ComfyUI-Manager** w UI `:8188`
|
|
- **CLI** (Server UI scripts): `../server-ui/scripts/comfyui/list-models.sh`, `download-model.sh`
|
|
|
|
Przykładowy workflow: [`../../manual-tutorial/examples/comfyui/example-sdxl-refiner.api.json`](../../manual-tutorial/examples/comfyui/example-sdxl-refiner.api.json)
|
|
|
|
```bash
|
|
cp manual-tutorial/examples/comfyui/example-sdxl-refiner.api.json /data/apps/comfyui/workflows/
|
|
```
|
|
|
|
## Dokumentacja
|
|
|
|
- Tutorial: [manual-tutorial/07-comfyui-stack.md](../../manual-tutorial/07-comfyui-stack.md)
|
|
- Wdrożenie: [coding-agent/COMFYUI-DEPLOYMENT.md](../../coding-agent/COMFYUI-DEPLOYMENT.md)
|