在CNB开发环境中使用的ComfyUI
目前已知可能会出现的问题,但是cnb上不会存在这些问题,大概率也不会遇到。
因CNB目前仍然开放GPU资源,建议使用GPU的tag与runner,否则可能无法使用显卡进行推理。
镜像已经内置GPU驱动,除非没有。
如图

目前cnb上许多镜像参照此工程进行开发,但要注意的是,此项目属于AIGC的范畴,产物由AI生成,内容并非作者意图,不论使用本项目生成的作品或是其他参考项目生成出的作品,均不代表作者观点,使用第三方模型过程中造成的任何后果,作者概不负责。
更多请参考.ide/Dockerfile。
使用步骤
首先Fork本仓库,修改.ide/Dockerfile和.cnb.yml适配自己的开发环境。
在本仓库.cnb.yml里,定义的环境如下:
cnb:arch:amd64:gpu,以便能够使用显卡进行推理。可根据需要修改,参考自定义资源规格
镜像默认将ComfyUI安装到了/usr/ComfyUI目录下,其几个模型的基本路径为:
/usr/ComfyUI/models/checkpoints/usr/ComfyUI/models/loras/usr/ComfyUI/models/upscale_models
由于cnb与腾讯云cos走内网连接,建议将模型上传至腾讯云对象存储,并使用coscli下载模型。coscli使用方法参考COSCMD工具
以下是示例,从存储桶的/models/中下载模型至cnb中
# 配置cos
coscmd config -a AKIDxxxxxxx -s xxxxxxxx -b example-1234567890 -r ap-shanghai
# 下载checkpoint模型
coscmd download /models/checkpoints/a.safetensors /usr/ComfyUI/models/checkpoints/
# 下载lora模型
coscmd download /models/checkpoint/fischl.safetensors /usr/ComfyUI/models/loras/
若需要从魔搭社区、huggingface等其他平台下载模型,可以使用wget或直接使用modelscope命令下载,目前环境内已经安装modelscope
以下是示例,从URL下载Counterfeit模型至cnb中
wget -c 参数表示断点续传,防止大文件中断时,需要重新下载。
axel -n 10 参数表示多线程下载
# 下载checkpoint模型
wget -c https://www.modelscope.cn/models/AI-ModelScope/Counterfeit-V2.5/resolve/master/Counterfeit-V2.5_pruned.safetensors \
-O /usr/ComfyUI/models/checkpoints/Counterfeit-V2.5_pruned.safetensors
# axel下载模型(10线程)
axel -n 10 https://huggingface.co/ModelScope/Counterfeit-V2.5/resolve/master/Counterfeit-V2.5_pruned.safetensors \
-o /usr/ComfyUI/models/checkpoints/Counterfeit-V2.5_pruned.safetensors
使用Modelscope下载
--model参数为模型在modelscope上的地址,后面跟着的是下载的文件(下例为只下载Counterfeit-V2.5_pruned.safetensors文件--local_dir表示下载到指定路径# 下载checkpoint模型
modelscope download \
--model AI-ModelScope/Counterfeit-V2.5 Counterfeit-V2.5_pruned.safetensors \
--local_dir /usr/ComfyUI/models/checkpoints/
.cnb.yml中,已经定义了启动的阶段命令(请手动填写9000端口转发),若无法启动,请手动在集成终端中,输入以下命令启动ComfyUI
python /usr/ComfyUI/main.py --listen 0.0.0.0 --port 9000
--listen 为监听的ip地址,若不指定,则默认为127.0.0.1,即只能本地访问。为了防止端口转发出现拒绝访问的问题,需要指定为0.0.0.0。--port 为监听的端口,如果出现了端口被占用的情况,请分配一个不被占用的端口。在ports中,ForwardedPorts已经配置好了端口转发,在ports页面新增一个9000的端口即可启用。

如果提示缺少模型,请在上一步模型安装完毕再刷新,可忽略此提示。
.ide/Dockerfile中,已经定义了镜像的构建步骤,若需要修改镜像,可修改.ide/Dockerfile,并重新构建镜像。
基本步骤按照ComfyUI源仓库的方式安装依赖包及启动
没什么好说的
要注意的是,为了保持后续版本与原版一致,这里不直接将仓库使用cnb-init-from转移到CNB,而是在构建时clone仓库至/workspace外的其他目录,一是防止后续版本更新时,仓库被覆盖,二是防止污染workspace的git管理。
git clone https://github.com/comfyanonymous/ComfyUI.git /usr/ComfyUI/
由于镜像已选择带touch环境,在pip安装时,会自动跳过已存在的依赖
pip install -r /usr/ComfyUI/requirements.txt
也没什么好说的,要注意的是监听host为0.0.0.0,否则无法从端口映射访问。
python /usr/ComfyUI/main.py --listen 0.0.0.0 --port 9000