ComfyUI: GPU (gfx1151 ROCm) build via container

Replace the CPU stock image with a container built from
Containerfile.comfyui on AMD's gfx1151-tagged vLLM base — the only torch
build verified to report torch.cuda.is_available()=True on the Strix Halo
APU (Radeon 8060S, capability (11,5)).

- Containerfile bakes the ComfyUI code in and installs its deps, but skips
  the torch family (the base image already ships the gfx1151 ROCm
  torch/torchvision/torchaudio; an unpinned 'torch' in requirements.txt would
  clobber the gfx1151 kernels).
- compose comfyui service: build + image comfyui-rocm:gfx1151, passes
  /dev/kfd + /dev/dri, adds video+render groups, drops --cpu. Models/data
  persist under /opt/comfyui.
- Un-skip the four compose-wiring acceptance tests (the gate for this work).
This commit is contained in:
Frank committed 2026-08-19 15:20:46 -07:00
1 parent aa38c556b2
commit 354ddc473f
3 files changed
+50 -14

No files matched your search

+21 -5
View File
@@ -11,21 +11,37 @@ services:
# Deploy with: scripts/deploy-searxng-quadlet.sh dankclaw
# See ../docs/Dankclaw/SearXNG.md, Gluetun.md, Valkey.md.
# --- AI image generation (CPU backend; ROCm does not support gfx1151) ----
# --- AI image generation (ROCm GPU backend, gfx1151) ---------------------
# Built from Containerfile.comfyui on AMD's gfx1151 torch base. The GPU is
# passed through (/dev/kfd, /dev/dri) with the video+render groups; no --cpu.
# Models + data persist under /opt/comfyui. See ../docs/Dankclaw/ComfyUI.md.
comfyui:
image: ghcr.io/comfyanonymous/comfyui:latest
build:
context: .
dockerfile: Containerfile.comfyui
image: comfyui-rocm:gfx1151
container_name: comfyui
restart: unless-stopped
command: ["python", "main.py", "--cpu", "--listen", "0.0.0.0", "--port", "8188"]
command: ["python", "main.py", "--listen", "0.0.0.0", "--port", "8188"]
ports:
- "8188:8188"
devices:
- /dev/kfd:/dev/kfd
- /dev/dri:/dev/dri
group_add:
- video
- render
volumes:
- /opt/comfyui:/workspace
- /opt/comfyui/models:/opt/ComfyUI/models
- /opt/comfyui/input:/opt/ComfyUI/input
- /opt/comfyui/output:/opt/ComfyUI/output
- /opt/comfyui/custom_nodes:/opt/ComfyUI/custom_nodes
healthcheck:
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8188/')"]
interval: 30s
timeout: 10s
retries: 3
retries: 5
start_period: 180s
# --- Chat UI + agent -----------------------------------------------------
openwebui: