Rebuilt automatically on every ComfyUI release. The stable tag only moves after a real render on a GPU. Custom nodes and models are pinned in the repo, and no model weights are baked into the image.
docker pull ghcr.io/landygg/diffusion-runtime:stable
Current stable: see the latest release
Same image in both places. Models download to the volume on first start, not into the image.
In the RunPod console, create a new pod template with these values:
ghcr.io/landygg/diffusion-runtime:stable818822 only if you use SSH/workspaceCOMFY_MODELS_GROUPSonly some model groups, e.g. z-image-turboHF_TOKENfor gated or private modelsCOMFY_EXTRA_ARGSextra ComfyUI flags, e.g. --lowvramDeploy a pod from the template and open Connect → HTTP 8188. ComfyUI is up while the models download.
# ComfyUI, through RunPod's proxy https://<pod-id>-8188.proxy.runpod.net # SSH, if you exposed port 22 ssh root@<pod-ip> -p <port>
On first start they download to the volume in the background. When the log says ready, press R in ComfyUI.
# pod log (abridged) [models] downloading Comfy-Org/z_image_turbo@… [models] verifying sha256 of ae.safetensors [models] ok /workspace/models/vae/ae.safetensors … [models] 6/6 model(s) ready in /workspace/models
# NVIDIA driver + Container Toolkit required docker run --gpus all -p 8188:8188 -v "$PWD/data:/workspace" \ -e COMFY_MODELS_SYNC=background \ ghcr.io/landygg/diffusion-runtime:stable
Then open localhost:8188. On small GPUs add -e COMFY_EXTRA_ARGS="--lowvram".
Everything ComfyUI writes goes to the volume at /workspace, not into the container.
The Download buttons in ComfyUI's "Missing Models" panel save the file to your browser, not to the pod. From a pod shell (web terminal or SSH) use these instead:
# one model, from its Hugging Face link get-model https://huggingface.co/org/repo/…/x.safetensors get-model org/repo/style.safetensors loras # the pinned set in models.lock.yaml sync-models [group ...] [--verify]
get-model prints a pinned models.lock.yaml entry: add it to the repo to get that model on every new pod.HF_TOKEN or run hf auth login once.On RunPod the container disk is reset when the pod stops; the volume is not.
models/user/input/ output/comfyui_args.txtnodes.lock.yaml instead.Stop ≠ terminate. A pod volume survives a stop but is deleted when the pod is terminated. To keep your data beyond that, attach a network volume at /workspace.
Built for people who want the same ComfyUI tomorrow that worked today.
The build checks for a new ComfyUI tag every 6 hours and builds it automatically.
latest moves on its own; stable moves only after a maintainer renders on real hardware.
ComfyUI tag, torch/CUDA wheels, custom nodes by commit, and models by Hugging Face commit + sha256.
sync-models fetches the pinned set; get-model adds any Hugging Face model from a pod shell.
CORS set for the pod proxy, key-only SSH, the container stays up if ComfyUI crashes, and flags change without a redeploy.
Every image ships its third-party license inventory and exact package versions.
A CPU can't catch out-of-memory errors, driver problems or a render that changes. So there's a human gate.
Every 6 hours and on every recipe change. Only tags that don't exist yet.
<comfyui>-<variant>-r<hash>Boots ComfyUI, checks imports, required nodes, model tools and the compiler.
latestA maintainer renders on real hardware. If it fails, it simply isn't promoted.
Re-points stable with no rebuild and publishes a GitHub Release with the digest.
stable