mmartial/ComfyUI-Nvidia-Docker

ComfyUI for NVIDIA GPU in a Docker container with user configurable uid/gid

解决的问题

本项目提供一个基于 Docker 的环境,用于运行 ComfyUI(Stable Diffusion WebUI),特别针对 NVIDIA GPU 进行优化。它通过将整个设置(包括 CUDA、CuDNN 和 Python 虚拟环境)封装在容器中,解决了复杂的手动安装、主机操作系统污染和依赖冲突问题。

如何工作

该项目使用官方 NVIDIA CUDA 容器作为基础。它将安装分为两个主要目录:run 文件夹(包含虚拟环境和 ComfyUI 源代码)和 basedir 文件夹(包含用户文件、模型和自定义节点)。这种架构允许独立管理环境,同时保留用户数据。它支持多种 Ubuntu 和 CUDA 版本组合,确保与不同 NVIDIA 硬件的兼容性,从较旧的 GTX 10xx 系列到最新的 Blackwell(RTX 50xx)GPU 均可支持。它还集成了 ComfyUI-Manager 以简化更新,并允许用户映射自己的 UID/GID,以在主机上保持正确的文件权限。

适用人群

希望使用 Docker 或 Podman 在 NVIDIA GPU 上运行 ComfyUI 的用户,包括通过 WSL2 使用 Windows、Linux 或 Unraid 的用户,偏好进程隔离和简化安装流程的人。

主要亮点

  • 广泛的硬件支持:为不同 CUDA 版本提供专用容器标签,特别支持 RTX 50xx(Blackwell)和 GTX 10xx GPU。
  • 权限管理:支持自定义 UID/GID 映射,确保容器用户与主机用户权限一致。
  • 灵活的安装:可选支持 uv 以实现更快的 Python 包安装,以及 TORCH_LOCK 以防止更新导致的破坏。
  • 可定制性:支持运行自定义 bash 脚本(user_script.bash)并通过环境变量传递额外命令行参数。
  • 预构建镜像:DockerHub 上提供即用型镜像,包含 Unraid 兼容版本。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目