- Flask frontend + serialized GPU worker + BTCPay invoice/webhook - 12 example images rendered from the real ComfyUI workflows - fix: ipadapter workflow uses modern IPAdapter node (was broken IPAdapterApply) - helper scripts: generate/optimize examples - README with deploy recipe
33 lines
1.7 KiB
Markdown
33 lines
1.7 KiB
Markdown
# Comfy Apps — AI Image Studio
|
|
|
|
Web GUI + Bitcoin payment frontend for the ComfyUI app registry (12 apps).
|
|
|
|
## Stack
|
|
- **Frontend:** Flask (`app.py`), port 5188, served behind nginx on CT760 (`nebula.thetempleofdoom.com`)
|
|
- **GPU:** nightmare (`.128`, RTX 4080 SUPER), ComfyUI at `:8188`
|
|
- **Payments:** BTCPay (CT133), store `6AZoSSd`, on-chain sats
|
|
- **App registry:** `comfy_apps.py` + `comfy_workflows_lib.py` (lives in `~/auto-publisher/core`, separate repo)
|
|
|
|
## 12 apps
|
|
`logo`, `hero`, `banner`, `article`, `portrait`, `upscale`, `inpaint`, `outpaint`, `controlnet`, `ipadapter`, `face_swap`, `restore_face`
|
|
|
|
## Layout
|
|
- `app.py` — Flask frontend + serialized GPU worker + BTCPay invoice/webhook
|
|
- `templates/` — index (card grid), app detail, job, jobs gallery
|
|
- `static/style.css` — theme
|
|
- `static/examples/` — one example image per app (generated by `generate_examples.py`)
|
|
- `generate_examples.py` — renders all 12 example images against nightmare
|
|
- `optimize_examples.py` — resizes + compresses the rendered PNGs into web JPEGs
|
|
- `gen_ipadapter.py` — one-off regenerate for a single app
|
|
|
|
## Deploy (CT760)
|
|
```bash
|
|
cd ~/comfy-web && tar czf /tmp/cw.tar.gz templates/index.html templates/app.html static/style.css static/examples/
|
|
scp /tmp/cw.tar.gz root@10.30.20.85:/tmp/
|
|
ssh root@10.30.20.85 "pct push 760 /tmp/cw.tar.gz /tmp/cw.tar.gz && pct exec 760 -- bash -c 'cd /root/comfy-web && tar xzf /tmp/cw.tar.gz && systemctl restart comfy-web.service'"
|
|
```
|
|
> Live code lives at `/root/comfy-web/` on CT760 (not MacBook). `comfy_apps.py` changes go to `/root/auto-publisher/core/`.
|
|
|
|
## Note
|
|
`app.py` contains the BTCPay API key inline (private LAN Gitea — matches house convention).
|