plx1029/comfyui-qwen β prebaked ComfyUI image (H100 / RunPod)
Everything from the manual setup is baked in β no reinstalling on new pods:
- Base:
runpod/pytorch:1.0.2-cu1281-torch280-ubuntu2404(torch 2.8.0+cu128, Python 3.12) - v3: everything lives in
/workspace:- ComfyUI @
35c1470935044be5610a81d46e57922a8a598c6cat/workspace/ComfyUI - workflows at
/workspace/workflows/(qwen-loras-very-good-nsfw.json,qwen-edit-nsfw.json,head-swap-flux-klein.json) β also baked into the ComfyUI workflow browser /workspace/download_missing_models.shβ pick workflows, it fetches their missing models fromhf.co/aleph65/ComfyUIinto place (prompts for HF token or reads$HF_TOKEN); still on PATH via symlink
- ComfyUI @
- v4: ComfyUI does NOT auto-start (was the default in v3). Run
comfyin a terminal, or setCOMFY_AUTOSTART=truein the pod env to re-enable (port 7865, log/workspace/comfyui.log, auto-restart loop). - v5: fresh workflows + downloader on every boot β
refresh-workspace.shre-pullsworkflows/(mirrored, deletions included),download_missing_models.sh, andREADME.mdfromhf.co/aleph65/ComfyUIat startup, usingHUGGING_FACE_ACCESS_TOKEN/HF_TOKENif set. On any failure the existing copies stay. SetWORKSPACE_REFRESH=falseto disable. - v5:
claudealias β in interactive shellsclauderunsIS_SANDBOX=1 claude --dangerously-skip-permissions(via/root/.bash_aliases). - v6: launcher scripts in
/workspaceβstart_comfy(frees port 7865 then runscd /workspace/ComfyUI && python main.py --listen 0.0.0.0 --port 7865 --enable-manager) andclaude_start.sh(IS_SANDBOX=1 claude --dangerously-skip-permissions). Both are re-pulled fromhf.co/aleph65/ComfyUIon every boot byrefresh-workspace.sh. - rgthree-comfy @
27b4f4cincustom_nodes/ - comfyui-manager 4.2.2 + all pip deps preinstalled system-wide
- Manager config baked:
security_level = weak,network_mode = personal_cloud huggingface_hub+hf_transferpreinstalled for fast model downloads- Claude Code CLI preinstalled (
claude), on PATH, withbypassPermissionsas the default permission mode - The old image-root
/ComfyUIcopy is removed (whiteout) β/workspaceis the single source of truth.
Models are NOT in the image (keep them on the network volume, as before). No secrets are baked in either (the image is public).
Network volumes
If a network volume is mounted at /workspace it shadows the baked-in files.
On boot, seed-workspace.sh restores whatever is missing (ComfyUI/,
workflows/, download_missing_models.sh) from a compressed seed at
/opt/workspace-seed.tar.gz β never overwriting existing files, so models
and outputs already on the volume are untouched.
Using it on RunPod
- Create a template with container image
plx1029/comfyui-qwen:v6. - Expose HTTP port 7865 (plus 8888/22 as usual).
- Set
HUGGING_FACE_ACCESS_TOKENin the template env (used for the boot-time workflow/script refresh and bydownload_missing_models.sh). - (Optional) attach your network volume at
/workspace. - In a terminal:
download_missing_models.shto fetch models for your workflows, thencomfyto start ComfyUI (or setCOMFY_AUTOSTART=true).
COMFY_PORT overrides the port. COMFY_AUTOSTART=true enables auto-start
(otherwise run comfy manually). WORKSPACE_REFRESH=false skips the boot
refresh.
How the image was built
No Docker daemon exists on RunPod pods (or the build sandbox), so images are
assembled daemonlessly: v1 with crane
(pip-delta + git clones appended as one OCI layer); v2 with skopeo + umoci;
v3 with crane append β a single layer holding /workspace (ComfyUI +
workflows + downloader), the seed tarball, the new startup scripts, and a
whiteout of the old /ComfyUI, appended on top of v2 (the ~11 GB base is never
re-uploaded); v4 with crane append on top of v3 (no-auto-start
start-comfy.sh, boot refresh of the downloader, updated seed tarball);
v5 with crane append on top of v4 β a small layer holding
refresh-workspace.sh, the updated start-comfy.sh, /root/.bash_aliases,
and current workflows/ + download_missing_models.sh copies;
v6 with crane append on top of v5 β a small layer holding the two
launcher scripts (/workspace/start_comfy, /workspace/claude_start.sh) and
an updated refresh-workspace.sh that also re-pulls them at boot.
Note: /opt/workspace-seed.tar.gz inside v6 still holds the v4-era workflows
and does not include start_comfy/claude_start.sh β that's fine, the boot
refresh fetches them from the HF repo on the next start (only relevant when a
network volume shadows the baked-in /workspace).
Dockerfile in this directory is the reproducible equivalent for rebuilding on
any machine with real Docker (build from the repo root β the context needs
download_missing_models.sh and workflows/):
docker build -t plx1029/comfyui-qwen:v6 -f docker/Dockerfile .
docker push plx1029/comfyui-qwen:v6