https://github.com/unorouter/comfyui-models
ComfyUI worker image with SDXL + Flux2 + ControlNets + LoRAs + custom_nodes baked in, so workers spawn in any RunPod datacenter without a network volume
https://github.com/unorouter/comfyui-models
Last synced: 27 days ago
JSON representation
ComfyUI worker image with SDXL + Flux2 + ControlNets + LoRAs + custom_nodes baked in, so workers spawn in any RunPod datacenter without a network volume
- Host: GitHub
- URL: https://github.com/unorouter/comfyui-models
- Owner: unorouter
- Created: 2026-05-11T21:35:37.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-11T23:20:48.000Z (about 1 month ago)
- Last Synced: 2026-05-11T23:37:57.509Z (about 1 month ago)
- Language: Dockerfile
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# comfyui-models
ComfyUI worker image with all studio-redesign models baked in. Workers built from this image can spawn in any RunPod datacenter — no network volume required.
## Image contents
Built on `0don/worker-comfyui:studio-redesign-base` (runtime + 7 custom_nodes pre-installed: Impact Pack, Impact Subpack, controlnet_aux, LayerDiffuse, Manager, Inspire Pack, smZNodes).
Baked model files (~80 GB total):
- **SDXL checkpoints**: prefectPonyXL_v40, lustifySDXLNSFW_endgame, sd_xl_base_1.0 (~20 GB)
- **Flux 2 dev**: diffusion_models + text_encoder + vae (~52 GB)
- **LoRAs** (5): Sinfully Stylish x2, Expressive H, wlop, Jinx (~1.2 GB)
- **Embeddings** (1): EasyNegative (70 KB)
- **ESRGAN upscalers** (4): RealESRGAN_x4plus, AnimeVideoV3, UltraSharp, NMKD-Siax (~250 MB)
- **xinsir SDXL ControlNets** (3): depth, canny, openpose (~7 GB)
- **YOLO detectors** (2): face_yolov8s, hand_yolov9c (~72 MB)
- **SAM**: sam_vit_b_01ec64 (358 MB) — FaceDetailer mask refinement
- **LayerDiffuse SDXL**: layer_xl_transparent_attn (709 MB)
## Build
CI runs on push to `main` or manual dispatch. Uses self-hosted GitHub Actions runner (the image is too large for GitHub-hosted runners' 14 GB disk).
Required secrets:
- `HF_TOKEN` — bypasses anonymous HuggingFace rate limits on multi-GB downloads.
Required permissions on the GitHub token: `packages:write` (to push to ghcr.io).
## Use on RunPod
```bash
# Point the serverless endpoint at this image
runpodctl template update gcgakg920o --image ghcr.io/unorouter/comfyui-models:latest
# Remove the network volume (no longer needed)
curl -X PATCH -H "Authorization: Bearer $RUNPOD_API_KEY" \
-H "Content-Type: application/json" \
--data '{"networkVolumeIds": [], "dataCenterIds": []}' \
"https://rest.runpod.io/v1/endpoints/"
```
## Trade-off
- ✅ Workers spawn in any RunPod datacenter — no capacity throttling locked to a single DC.
- ✅ No network volume storage cost (saves ~$6/mo per 90 GB volume).
- ❌ Cold-host pulls take 5-15 minutes (vs 30-60s with a warm volume). Subsequent pulls on the same machine hit Docker's layer cache.
- ❌ Model changes require a full rebuild + push (~30-45 min). Network volume + `aws s3 cp` would be seconds.
For high-volume production (>100 jobs/day) where cold-host pulls are rare, this is the better architecture. For low-volume personal use with sporadic traffic, a network volume in a high-capacity DC may be a better fit.
## Adding new models
1. Edit `Dockerfile`, add an `RUN hf download …` line.
2. Update `unorouter/src/lib/db/seeds.ts` with the matching catalog row (filename must match exactly).
3. Commit + push. CI builds the new image. `runpodctl template update` to roll it out.