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>
120 lines
3.4 KiB
Markdown
120 lines
3.4 KiB
Markdown
# Wdrożenie ComfyUI stack (Docker)
|
||
|
||
Data: 2026-07-04
|
||
Host: `gmktec-k11` — RTX 3090 Ti 24 GB, `/data` zamontowany
|
||
|
||
## Kontekst
|
||
|
||
Po researchu [Stability Matrix](STABILITYMATRIX-RESEARCH.md) — **nie instalujemy SM** (wymaga GUI). Zamiast tego ComfyUI w Dockerze, wzorowany na `stacks/localai/`.
|
||
|
||
SwarmUI usunięte 2026-07-04 — [`SWARMUI-REMOVAL.md`](SWARMUI-REMOVAL.md).
|
||
|
||
## Podsumowanie stacku
|
||
|
||
| Element | Wartość |
|
||
|---------|---------|
|
||
| Stack | [`stacks/comfyui/`](../stacks/comfyui/) |
|
||
| Kontener | `comfyui` |
|
||
| Obraz | `yanwk/comfyui-boot:cu126-slim` |
|
||
| Port | **8188** |
|
||
| Profil compose | `comfyui` |
|
||
| Dane | `/data/apps/comfyui/` |
|
||
|
||
## Architektura
|
||
|
||
```mermaid
|
||
flowchart TB
|
||
subgraph host [gmktec-k11 headless]
|
||
localai[localai :8070]
|
||
comfyui[comfyui :8188]
|
||
dockge[server-ui :8091]
|
||
end
|
||
data["/data/apps/comfyui/"]
|
||
comfyui --> data
|
||
note["GPU: localai LUB comfyui — nie oba z dużym modelem"]
|
||
```
|
||
|
||
## Pliki w repo
|
||
|
||
| Plik | Rola |
|
||
|------|------|
|
||
| `stacks/comfyui/docker-compose.yml` | GPU, port 8188, bind mounty |
|
||
| `stacks/comfyui/.env.example` | `DATA_ROOT`, `COMFYUI_PORT`, obraz |
|
||
| `stacks/comfyui/scripts/start.sh` | ensure-dirs, pull, up, ostrzeżenie o LocalAI |
|
||
| `stacks/comfyui/scripts/ensure-dirs.sh` | katalogi na `/data` |
|
||
| `stacks/comfyui/scripts/pull.sh` | tylko `docker compose pull` |
|
||
| `stacks/comfyui/README.md` | dokumentacja stacku |
|
||
|
||
## Katalogi na hoście
|
||
|
||
```
|
||
/data/apps/comfyui/
|
||
├── storage/ # kopia ComfyUI (pierwszy start obrazu yanwk)
|
||
├── models/
|
||
├── cache/hf-hub/
|
||
├── cache/torch-hub/
|
||
├── input/
|
||
├── output/
|
||
├── custom_nodes/
|
||
└── workflows/
|
||
```
|
||
|
||
Istniejące katalogi z `setup-data-disk.sh` (models, input, output, custom_nodes) są rozszerzone przez `ensure-dirs.sh`.
|
||
|
||
## Procedura wdrożenia
|
||
|
||
```bash
|
||
cd ~/cursor/ubuntu-bare-metal/stacks/comfyui
|
||
cp .env.example .env
|
||
|
||
# opcjonalnie: zatrzymaj LocalAI przed dużym modelem SD
|
||
cd ../localai && docker compose --profile localai stop localai
|
||
cd ../comfyui
|
||
|
||
./scripts/start.sh
|
||
```
|
||
|
||
Weryfikacja:
|
||
|
||
```bash
|
||
docker compose --profile comfyui ps
|
||
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8188/
|
||
nvidia-smi
|
||
```
|
||
|
||
Oczekiwany HTTP: **200** (po `start_period` healthcheck, ~3 min pierwszy start).
|
||
|
||
## Polityka GPU
|
||
|
||
| Scenariusz | Akcja |
|
||
|------------|-------|
|
||
| Chat LLM (LocalAI) | `comfyui` stopped lub bez modelu w VRAM |
|
||
| Generowanie obrazów (ComfyUI) | `localai` stopped |
|
||
| Portainer | Stop/Start kontenerów według potrzeb |
|
||
|
||
## Modele
|
||
|
||
- Brak auto-download w `compose pull`
|
||
- Użytkownik: ComfyUI-Manager w UI lub ręcznie do `/data/apps/comfyui/models/`
|
||
- Szacunki VRAM: SDXL ~8–12 GB; Flux ~12–20 GB (mieści się na 24 GB przy zatrzymanym LocalAI)
|
||
|
||
## Dostęp sieciowy
|
||
|
||
| Sieć | URL |
|
||
|------|-----|
|
||
| localhost | `http://127.0.0.1:8188` |
|
||
| LAN (po statycznym IP) | `http://192.168.100.90:8188` (enp3s0) |
|
||
| Reverse proxy | opcjonalnie później przez NPMPlus (jak LocalAI) |
|
||
|
||
## Szacowany rozmiar
|
||
|
||
- Obraz Docker: ~5–15 GB (zależnie od wariantu yanwk)
|
||
- Modele SD/Flux: dziesiątki GB — użytkownik pobiera sam
|
||
|
||
## Powiązane dokumenty
|
||
|
||
- [`COMFYUI-HANDOFF.md`](COMFYUI-HANDOFF.md)
|
||
- [`STABILITYMATRIX-RESEARCH.md`](STABILITYMATRIX-RESEARCH.md)
|
||
- [`manual-tutorial/07-comfyui-stack.md`](../manual-tutorial/07-comfyui-stack.md)
|
||
- [`DOCKER-UI-DEPLOYMENT.md`](DOCKER-UI-DEPLOYMENT.md) — polityka GPU w Portainer
|