megapak
is a big all-in-one Docker image that has:
-
Dev kits:
-
CUDA dev kit (12.1)
-
Python dev package (3.11)
-
GCC C++ (12)
-
OpenCV-devel
-
CMake, Ninja…
-
-
Latest stable version of xFormers + PyTorch
-
Tools:
-
Vim, Fish, fd…
-
And will:
-
Install a lot of Custom Nodes by default
-
Download more models
Also, if you’d like to build your own development environment for ComfyUI ecosystem, this image would be a good starting point.
The design of cu121-megapak
is similar to the cu121
image, as well as the usage. With one key difference:
-
The user within the container is
root
, not "runner".-
This makes rootless deploy on Linux easier.
-
But WSL2 users need to be aware of the file storage.
Bind-mount a directory from Windows(NTFS) filesystem into Linux(ext4) would perform I/O much slower, and have dubious ownership.
Recommend using a Docker volume or a WSL2 directory for file storage.
(You can still manage your ComfyUI files in Explorer via URL \\wsl$
).
More discussion in #43.
latest
image uses a low-privilege user (runner), so it doesn’t have dubious ownership issue under WSL2.
If confused, give a try to the native ComfyUI-Windows-Portable.
mkdir -p storage
docker run -it --rm \
--name comfyui-mega \
--gpus all \
-p 8188:8188 \
-v "$(pwd)"/storage:/root \
-e CLI_ARGS="" \
yanwk/comfyui-boot:megapak
mkdir -p storage
podman run -it --rm \
--name comfyui-mega \
--device nvidia.com/gpu=all \
--security-opt label=disable \
-p 8188:8188 \
-v "$(pwd)"/storage:/root \
-e CLI_ARGS="" \
docker.io/yanwk/comfyui-boot:megapak
Recommend running ephemeral containers (--rm
) to keep everything clean and visible.
The container will run the download script on the first start
and will create an empty file .download-complete
as a marker when the download is complete.
If the download does not complete, on the next start, the download script will resume downloading (using aria2’s mechanism).
You can create the .download-complete
file to skip the download script.
mkdir -p storage
touch storage/.download-complete