File size: 3,105 Bytes
8be1a74
 
 
9500cdb
8be1a74
 
 
 
 
 
9500cdb
 
8be1a74
 
 
 
 
 
 
 
9500cdb
8be1a74
 
 
 
 
 
9500cdb
 
 
8be1a74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2784a84
 
 
 
 
61c37a8
 
2784a84
8be1a74
 
9500cdb
 
 
 
8be1a74
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# comfyui-qwen

RunPod image for ComfyUI with Qwen/Flux workflows. Docker image: `plx1029/comfyui-qwen`
(current: `v6`). Everything lives in `/workspace` β€” do not move files around:

```
/workspace/
β”œβ”€β”€ ComfyUI/          # ComfyUI itself (models under ComfyUI/models/)
β”œβ”€β”€ workflows/        # workflow JSONs used by the download script
β”œβ”€β”€ download_missing_models.sh
β”œβ”€β”€ start_comfy       # free port 7865, then start ComfyUI (+manager)
β”œβ”€β”€ claude_start.sh   # IS_SANDBOX=1 claude --dangerously-skip-permissions
└── README.md
```

## Starting ComfyUI

ComfyUI does **not** auto-start (since v4) β€” start it yourself:

```bash
./start_comfy               # free port 7865, then run ComfyUI with the manager
comfy                       # wrapper: runs ComfyUI on port $COMFY_PORT (default 7865)
comfy --enable-manager      # extra args are passed through to main.py
# or directly:
cd /workspace/ComfyUI && python main.py --listen 0.0.0.0 --port 7865 --enable-manager
```

`./claude_start.sh` launches Claude Code sandboxed
(`IS_SANDBOX=1 claude --dangerously-skip-permissions`).

Set `COMFY_AUTOSTART=true` on the pod to re-enable auto-start at boot.

## Models + custom-node dependencies

```bash
download_missing_models.sh              # interactive workflow picker
download_missing_models.sh --all        # every workflow
download_missing_models.sh --dry-run    # show the plan only
download_missing_models.sh --skip-nodes # models only, skip custom-node installs
```

For the workflows you select, the script:

1. installs every custom-node pack they need (resolved from each node's
   `cnr_id`/`aux_id` via the Comfy Registry, with ComfyUI-Manager's node DB as
   fallback) into `ComfyUI/custom_nodes/`, including pip requirements β€” restart
   ComfyUI afterwards to load them;
2. downloads every model they reference from this HF repo
   (`aleph65/ComfyUI`, which mirrors `ComfyUI/models/`) into place, in parallel.

Auth: reads `HUGGING_FACE_ACCESS_TOKEN` (falls back to `HF_TOKEN`), prompts if
neither is set.

## Serverless

The `serverless/` folder in the HF repo holds RunPod serverless workers that
run these workflows as an API (models baked into per-family images for fast
cold starts). Current endpoint: `qwen-edit-turbo` (`dom5lwr0o5wq6u`), image
`plx1029/comfyui-serverless:qwen-edit-turbo-v7` (Qwen4Play lora available,
off by default). See `serverless/README.md`.

## How this stays up to date

The source of truth for `download_missing_models.sh`, `start_comfy`,
`claude_start.sh`, and this README is the HF repo `aleph65/ComfyUI`. At
container boot, `/start-comfy.sh` pulls the latest versions from there
(best-effort; keeps the baked-in copies if offline). So:

- **script/README changes** β†’ push to the HF repo, no image rebuild needed;
- **anything else** (start scripts, ComfyUI, system deps) β†’ rebuild and push
  a new `plx1029/comfyui-qwen` tag.

If a network volume is mounted over `/workspace`, missing files are restored
at boot from the baked seed (`/opt/workspace-seed.tar.gz`); existing files on
the volume are never overwritten.