359afb3a59
Infrastructure configs for GMKtec K11 (Docker, vLLM, LocalAI, ComfyUI, control-plane, gpu-fan agent, Server UI with CLI/file explorer/GPU fan curve). Co-authored-by: Cursor <cursoragent@cursor.com>
ComfyUI stack
ComfyUI — grafowy interfejs do generowania obrazów (Stable Diffusion, Flux, …). Stack oparty na obrazie yanwk/comfyui-boot.
Zamiast Stability Matrix (GUI desktop) używamy ComfyUI w Dockerze — zgodnie z filozofią headless serwera i tutoriala 03b.
Porty
| Serwis | Port | URL |
|---|---|---|
| ComfyUI web UI | 8188 | http://HOST:8188 |
| LocalAI (osobny stack) | 8070 | LLM / chat — nie równolegle z dużym modelem SD |
Jak to działa
flowchart LR
browser["Przeglądarka :8188"]
comfyui["Kontener comfyui"]
gpu["RTX 3090 Ti"]
models["/data/apps/comfyui/models"]
browser --> comfyui
comfyui --> gpu
comfyui --> models
| Element | Opis |
|---|---|
| Obraz | yanwk/comfyui-boot:cu126-slim |
| Konfiguracja | .env + docker-compose.yml |
| Modele | /data/apps/comfyui/models (puste na start — pobierz ręcznie lub przez ComfyUI-Manager) |
| Pierwszy start | Kopiuje ComfyUI do /data/apps/comfyui/storage/ (~kilka minut) |
Struktura
stacks/comfyui/
├── README.md
├── docker-compose.yml
├── .env.example
├── .gitignore
└── scripts/
├── ensure-dirs.sh
├── pull.sh
└── start.sh
Na dysku /data:
/data/apps/comfyui/
├── storage/ # kopia ComfyUI z obrazu (pierwszy start)
├── models/ # checkpoints, LoRA, VAE, …
├── cache/
│ ├── hf-hub/
│ └── torch-hub/
├── input/
├── output/
├── custom_nodes/
└── workflows/
Workflow (bez modelu)
cd stacks/comfyui
cp .env.example .env
./scripts/pull.sh
./scripts/start.sh
Weryfikacja:
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8188/
# UI: http://<IP-serwera>:8188
Zmienne .env
| Zmienna | Opis | Domyślnie |
|---|---|---|
DATA_ROOT |
Mount dysku danych | /data |
COMFYUI_PORT |
Port na hoście | 8188 |
COMFYUI_IMAGE |
Obraz Docker | yanwk/comfyui-boot:cu126-slim |
CUDA_VISIBLE_DEVICES |
GPU | 0 |
CLI_ARGS |
Dodatkowe flagi ComfyUI | puste |
Polityka GPU (LocalAI ↔ ComfyUI)
RTX 3090 Ti 24 GB — jeden duży workload GPU naraz.
Przed startem ComfyUI z dużym modelem (SDXL, Flux):
cd ../localai
docker compose --profile localai stop localai
Skrypt start.sh ostrzega, gdy localai jest uruchomiony.
W Server UI (port 8091) → Stop/Start stack localai lub comfyui według potrzeb.
Modele (później)
- ComfyUI-Manager w UI (custom node w obrazie yanwk) — pobieranie modeli i węzłów
- Ręcznie: pliki do
/data/apps/comfyui/models/checkpoints/(lub odpowiednie podkatalogi)
Szacunki VRAM (przy zatrzymanym LocalAI):
| Model | VRAM (orientacyjnie) |
|---|---|
| SD 1.5 | ~4–6 GB |
| SDXL | ~8–12 GB |
| Flux | ~12–20 GB |
Zarządzanie
docker compose --profile comfyui ps
docker compose --profile comfyui logs -f comfyui
docker compose --profile comfyui restart comfyui
docker compose --profile comfyui down
Dokumentacja
- Tutorial: manual-tutorial/07-comfyui-stack.md
- Research Stability Matrix:
coding-agent/STABILITYMATRIX-RESEARCH.md - Wdrożenie:
coding-agent/COMFYUI-DEPLOYMENT.md
Upstream: github.com/comfyanonymous/ComfyUI