-
初次启动时,启动脚本会下载 ComfyUI、ComfyUI-Manager 以及一些常用的功能性模型。
-
整个 ComfyUI 会保存在本地 (
./storage/ComfyUI
) 。 -
如果你已经有了现成的 ComfyUI 包,放在上述目录,并新建一个空白文件 (
./storage/.download-complete
),启动脚本会跳过下载。 -
使用 ComfyUI-Manager 即可更新组件、安装模型(在 ComfyUI 页面中找到“Manager”)。
-
NVIDIA 显卡, ≥6GB 显存
-
4GB 显存见 CLI_ARGS
-
-
安装好最新的 NVIDIA 显卡驱动
-
游戏驱动或 Studio 驱动均可。
-
只需要在宿主系统中安装驱动即可,容器中不需要再安装驱动。
-
-
安装好 Docker
-
Windows 用户建议使用 Docker Desktop 并在安装时启用 WSL2,并 限制内存用量 。
-
Linux 用户可能需要安装 NVIDIA Container Toolkit (使得容器可以访问宿主机的 GPU)。
-
-
科学上网
-
访问 GitHub(下载自定义节点)与 HuggingFace、Civitai(下载模型)大概率需要科学上网,访问 PyPI(安装依赖项)也可能需要加速。
-
Docker Desktop 用户可在设置中找到“代理”(Settings - Resources - Proxies)选项页。
-
Linux 用户可以使用 预启动脚本。
-
docker run
mkdir -p storage
docker run -it \
--name comfyui \
--gpus all \
-p 8188:8188 \
-v "$(pwd)"/storage:/home/runner \
-e CLI_ARGS="" \
yanwk/comfyui-boot:latest
# 更新镜像(仅在 Python 组件版本过期时需要)
docker rm comfyui
docker pull yanwk/comfyui-boot:latest
# 接下来再运行一遍上述 'docker run' 即可
docker compose
git clone https://github.com/YanWenKun/ComfyUI-Docker.git
cd ComfyUI-Docker/cu121
docker compose up --detach
# 更新镜像(仅在 Python 组件版本过期时需要)
git pull
docker compose pull
docker compose up --detach --remove-orphans
docker image prune
启动完成后,访问 http://localhost:8188/
启动参数 | 说明 |
---|---|
--lowvram |
如果显存只有 4G |
--novram |
如果用了 --lowvram 还是显存不够,直接改用 CPU 内存 |
--cpu |
用 CPU 来跑,会很慢 |
--use-pytorch-cross-attention |
如果不想用 xFormers,而改用 PyTorch 原生交叉注意力机制。在 WSL2 上可能会有更好的速度/显存占用表现,但在 Linux 宿主机上会明显更慢。 |
--preview-method taesd |
使用基于 TAESD 的高质量实时预览。使用 Manager 会覆盖该参数(需在 Manager 界面中设置预览方式)。 |
--front-end-version Comfy-Org/ComfyUI_frontend@latest |
使用最新的 ComfyUI 前端 |
--fast |
使用实验性的高性能模式,对 40 系显卡 + CUDA 12.4 + 最新 PyTorch + fp8-e4m3fn 模型可达 40% 性能提升。但也有可能造成图像质量劣化。 来源 |
更多 CLI_ARGS
参考
ComfyUI 。
如果需要在 ComfyUI 启动前执行脚本,可以创建这个文件:
./storage/scripts/pre-start.sh
如果你需要单独设置代理,可以创建这个文件,它会在 pre-start
和 download
之前运行:
./storage/scripts/set-proxy.sh
参考脚本内容:
提示:在容器内,不能直接通过 127.0.0.1 访问宿主机,需要走(虚拟)局域网,而容器平台一般都贴心绑定好了宿主机的 IP 地址-主机名:
-
在 Docker 中是
host.docker.internal
-
在 Podman 中是
host.containers.internal
#!/bin/bash
set -eu
export HTTP_PROXY=http://host.docker.internal:1081
export HTTPS_PROXY=$HTTP_PROXY
export http_proxy=$HTTP_PROXY
export https_proxy=$HTTP_PROXY
export NO_PROXY="localhost,*.local,*.internal,[::1],fd00::/7,
10.0.0.0/8,127.0.0.0/8,169.254.0.0/16,172.16.0.0/12,192.168.0.0/16,
10.*,127.*,169.254.*,172.16.*,172.17.*,172.18.*,172.19.*,172.20.*,
172.21.*,172.22.*,172.23.*,172.24.*,172.25.*,172.26.*,172.27.*,
172.28.*,172.29.*,172.30.*,172.31.*,172.32.*,192.168.*,
*.cn,ghproxy.com,*.ghproxy.com,ghproxy.org,*.ghproxy.org,
gh-proxy.com,*.gh-proxy.com,ghproxy.net,*.ghproxy.net"
export no_proxy=$NO_PROXY
echo "[INFO] 代理设置为 $HTTP_PROXY"
以下命令会安装一些常用节点,也许能帮你节省点时间
镜像里已经安装好了绝大部分依赖项,不需要手动安装。
cd ComfyUI/custom_nodes/
gcs='git clone --depth=1 --no-tags --recurse-submodules --shallow-submodules'
# 工作空间
$gcs https://github.com/11cafe/comfyui-workspace-manager.git
$gcs https://github.com/AIGODLIKE/AIGODLIKE-ComfyUI-Translation.git
$gcs https://github.com/crystian/ComfyUI-Crystools-save.git
$gcs https://github.com/crystian/ComfyUI-Crystools.git
# 综合
$gcs https://github.com/bash-j/mikey_nodes.git
$gcs https://github.com/chrisgoringe/cg-use-everywhere.git
$gcs https://github.com/cubiq/ComfyUI_essentials.git
$gcs https://github.com/Derfuu/Derfuu_ComfyUI_ModdedNodes.git
$gcs https://github.com/jags111/efficiency-nodes-comfyui.git
$gcs https://github.com/kijai/ComfyUI-KJNodes.git
$gcs https://github.com/pythongosssss/ComfyUI-Custom-Scripts.git
$gcs https://github.com/rgthree/rgthree-comfy.git
$gcs https://github.com/shiimizu/ComfyUI_smZNodes.git
$gcs https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git
# 控制
$gcs https://github.com/cubiq/ComfyUI_InstantID.git
$gcs https://github.com/cubiq/ComfyUI_IPAdapter_plus.git
$gcs https://github.com/Fannovel16/comfyui_controlnet_aux.git
$gcs https://github.com/florestefano1975/comfyui-portrait-master.git
$gcs https://github.com/Gourieff/comfyui-reactor-node.git
$gcs https://github.com/huchenlei/ComfyUI-layerdiffuse.git
$gcs https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet.git
$gcs https://github.com/ltdrdata/ComfyUI-Impact-Pack.git
$gcs https://github.com/ltdrdata/ComfyUI-Inspire-Pack.git
$gcs https://github.com/mcmonkeyprojects/sd-dynamic-thresholding.git
$gcs https://github.com/storyicon/comfyui_segment_anything.git
$gcs https://github.com/twri/sdxl_prompt_styler.git
# 视频
$gcs https://github.com/Fannovel16/ComfyUI-Frame-Interpolation.git
$gcs https://github.com/FizzleDorf/ComfyUI_FizzNodes.git
$gcs https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved.git
$gcs https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git
$gcs https://github.com/melMass/comfy_mtb.git
$gcs https://github.com/MrForExample/ComfyUI-AnimateAnyone-Evolved.git
# 更多
$gcs https://github.com/cubiq/ComfyUI_FaceAnalysis.git
$gcs https://github.com/pythongosssss/ComfyUI-WD14-Tagger.git
$gcs https://github.com/SLAPaper/ComfyUI-Image-Selector.git
$gcs https://github.com/ssitu/ComfyUI_UltimateSDUpscale.git
如果不同节点间出现冲突,尝试在 custom_nodes
下删除对应节点,并删除 .local
(或 local
)目录,然后在 ComfyUI-Manager 中更新/尝试修复/重新安装对应节点。
docker build . --progress=plain -f Dockerfile -t yanwk/comfyui-boot:latest
docker run -it --rm \
--gpus all -p 8188:8188 \
--volume "$(pwd)"/storage:/home/runner \
--env CLI_ARGS="" \
yanwk/comfyui-boot:latest
docker run -it --rm \
--gpus all -p 8188:8188 \
--volume "$(pwd)"/storage:/home/runner \
--env CLI_ARGS="" \
--user root \
yanwk/comfyui-boot:latest /bin/bash
如果在升级时遇到奇怪问题,可以尝试清理缓存文件。平时不需要清理,避免反复下载一些文件(尤其一些节点用 huggingface_hub
下载模型,会存在 .cache
中)。
docker exec -it --workdir /home/runner comfyui \
rm -rf .cache/ .config/ .local/ .nv/ bin/ include/ lib/ lib64 pyvenv.cfg
docker restart comfyui