一鍵模板(最快路徑)
預建映像檔啟動時就準備好被代理面板驅動 —— ComfyUI + 代理面板 + ComfyUI-Manager v2 已經烤進去,不用再設定:- 點 Deploy on RunPod 並選一塊 GPU(RTX 5090 / 任何 Blackwell 或 Ada 卡都能用 —— 映像檔帶 cu128 torch)。
- 保持模板預設:暴露 HTTP 連接埠 3000,並把網路磁碟區掛在
/workspace。 - 等執行個體起來。一張會自動重新整理的「ComfyUI is starting…」頁面會一直服務到準備好 (ComfyUI 初始化大約 30–60 秒)。
從代理面板部署並控制(v0.44+)
從 comfyui-mcp 0.44 起,你完全不用碰 RunPod 控制台,也不用跑 CLI —— 代理面板 裡有一塊 RunPod 控制面板,替你部署、連線、監視和停止 執行個體,同一張控制表也隨 手機 App 一起發貨。- 金鑰設一次。 在面板的 API 金鑰 卡片裡貼上你的
RUNPOD_API_KEY。它儲存在 服務端的~/.comfyui-mcp/.env—— 絕不會進瀏覽器。 - 從面板工具列的主機指示開啟 RunPod 控制面板(一開始讀作 🟢 本機 · 你的機器)。
- 部署或連線。 點部署做一鍵執行個體(它走模板的部署連結,容量緊時會在 GPU 型別 / COMMUNITY→SECURE 之間回退),或從下拉選單按名稱選一台已有執行個體再點連線。
- 即時看著。 狀態卡片顯示 GPU / VRAM / 執行時長 / /hr —— 算圖跑在哪永遠不會 含糊。代理會把你的自訂節點 + LoRA 裝上,並把模型下載到執行個體上,於是你得到和本機 機器完全一致的畫布。
- 切回去並停止。 使用本機會立刻把算圖改回你自己的機器;停止會關掉執行個體。
空閒自動停止(
RUNPOD_IDLE_STOP_MINUTES,預設 15;只在你真的在執行個體上算圖時計數) 是你忘了關時的費用兜底。
/workspace 還在。啟動後 45 分鐘沒有心跳,之後
心跳間隔 20 分鐘;RUNPOD_DEADMAN_BOOT_GRACE_S / RUNPOD_DEADMAN_BEAT_GRACE_S)。
「照看」會熬過使用本機和取消監視 —— 那些只改 UI 顯示什麼;看門狗只有在
comfyui-mcp 自己沒了(或執行個體退出)時才會開火。看門狗用 RunPod 自動注入到每臺執行個體的
執行個體作用域 API 金鑰 停掉執行個體 —— 你的賬戶級金鑰永遠不離開本機,憑據上也沒有什麼需要
退出的。不想武裝它,就在 runpod / action: "create" 上設 deadman:false
(或 RUNPOD_DEADMAN=0),或把 DEADMAN_DISABLE=1 當作執行個體環境變數。控制台部署的
執行個體從不帶心跳權杖,自訂模板部署(RUNPOD_TEMPLATE_ID)預設關閉 —— 只有那份
映像檔帶了我們的看門狗時才傳 deadman:true。
第一次租 GPU 跑 ComfyUI?部落格把整條流程從頭走到尾:
在租來的雲 GPU 上執行 ComfyUI。
從你的機器連線
執行個體起來之後,拿到它的公網代理 URL(RunPod → 你的執行個體 → :3000 HTTP 端點,例如https://<pod-id>-3000.proxy.runpod.net),在筆記本上跑一條命令:
connect 會自動開啟一條安全加密的 wss:// 通道
(經 Cloudflare)連到你機器上的代理橋接,並把那個 URL 交給執行個體的面板 —— 於是執行個體的
HTTPS 頁面到達代理時沒有瀏覽器提示、不用複製任何東西,任何瀏覽器都行。對
本機 ComfyUI 它用普通的 ws://127.0.0.1:9180 回送橋接。無論哪種,代理 —— 以及
你的 Claude/ChatGPT 登入 —— 只跑在你的機器上;執行個體上什麼都不會安裝。
收尾:讓 connect 繼續在你自己的機器上跑著,在瀏覽器裡開啟執行個體的 ComfyUI,開啟
代理面板側邊欄,點連線。
然後用自然語言驅動節點圖。
為什麼要通道? 執行個體頁面透過
https:// 提供,瀏覽器會擋下安全頁面開啟一條到你機器
的不安全 ws:// 通訊端(混合內容 / Private Network Access)。通道給橋接一個有效 TLS
的 wss:// URL —— 由每個工作階段的隨機權杖把門 —— 於是到處都能用,不用提示。如果執行個體在驗證後面,在本機
connect 命令上設定 COMFYUI_AUTH_TOKEN(選用再加上
COMFYUI_AUTH_HEADER / COMFYUI_AUTH_SCHEME)。對擋在 Cloudflare Access 前面的
執行個體,建立一把 Access 服務權杖 並設定 CF_ACCESS_CLIENT_ID +
CF_ACCESS_CLIENT_SECRET —— 兩者會騎在每一次 ComfyUI 請求上(HTTP + 佇列監視器
WebSocket),於是連接器能過門,而給人看的登入頁仍然留給瀏覽器。全部留在你的機器上(不用 Cloudflare)
不想讓橋接走 Cloudflare?用你自己的 SSH 連接埠轉送 到達執行個體,讓頁面變成回送源 (普通ws:// 就能用,不用通道):
--insecure-bridge 強制普通回送橋接(然後你自己安排執行個體頁面到達
ws://127.0.0.1:9180 的路徑)。
想要預設 Cloudflare 快速通道之外的穩定、自建替代 —— 你自己的域名、沒有臨時主機名、
完全擁有那一跳 —— 而不是上面兩種?請看自架中繼。
拓撲:代理跑在哪
什麼會持久化(什麼不會)
映像檔為快速停 / 啟做了最佳化。重的軟體 —— ComfyUI、它的 venv、Manager v2 —— 烤進 不可變映像檔並從/opt/ComfyUI 執行,而 custom_nodes 住在 /workspace 磁碟區上
(符號連結),所以你的安裝會留下來。熱重新啟動不做完整安裝 / 同步 / 種子,只是重新拉起
ComfyUI。
執行時安裝的自訂節點能熬過重新啟動。
custom_nodes 符號連結到
/workspace/custom_nodes;每次啟動時映像檔裡烤好的節點(代理面板 + 內建)會被種子 /
重新整理進去(於是映像檔升級會帶上當前面板,同時保留你自己的節點),每個節點的 Python
相依會從磁碟區上的持久 pip 快取重新裝進 venv —— 第一次之後很快。模型也會留下。要把
一個節點烤進去、啟動時零工作,把它加到 Dockerfile 並重新建置映像檔(請看下方)。建置並部署你自己的映像檔
一鍵模板就是預建映像檔。還有一份精簡預建映像檔 —— 同樣的 ComfyUI + 代理面板 + Manager,但沒有選用的捐贈附加(runpod-uploader/croc/app-manager),也沒有烤進去
的 SDXL 抽查 checkpoint,在 CI 裡持續構建 —— 同樣公開在
ghcr.io/artokun/comfyui-mcp-runpod:cu128-lean,
如果你只想把 RunPod 模板指過去、自己什麼都不構建。
要定製它 —— 釘版本、烤進額外自訂節點、改模型佈局 —— 從
docker/runpod/
自己構建並推送:
/workspace 掛網路磁碟區。
docker/runpod/README.md
是完整的構建參考 —— 多階段 Dockerfile、確切的 ComfyUI 啟動旗標、
extra_model_paths.yaml 卷對映、Manager 遠端安裝門、環境變數,以及體積 / 釘死的取捨。
其他雲端目標
connect 流程不是 RunPod 專用 —— 它對任何能提供代理面板、且能到達的 ComfyUI
都有效(另一家雲主機、VPS、區域網上的盒子)。把 connect 指向它的 URL,並開啟外部
協調器開關: