Comfyture is a ready to use Docker image and compose stack designed to simplify running ComfyUI with NVIDIA GPU acceleration. Unlike traditional setups, this stack eliminates complex configuration steps while pre-installing 20+ extensions (custom nodes).
Important
While functional, this project is still under active development and may have bugs during use.
Contents:
- Easy to run ComfyUI from Docker.
- GPU-accelerated (Nvidia CUDA only).
- Flash Attention support.
- Sage Attention support.
- New Manager enabled by default.
- Do not run as root, UID/GID are configurables.
- A set of pre-installed extensions.
Warning
This project does not provide models, you must download those manually and put them in ./data/models.
Note
This project has been tested using Archlinux BTW.
-
Docker with Nvidia runtime support (run
docker info):CDI spec directories: /etc/cdi /var/run/cdi Discovered Devices: cdi: nvidia.com/gpu=0 cdi: nvidia.com/gpu=GPU-be3cb206-b9c5-80bf-ee15-811189491961 cdi: nvidia.com/gpu=all Runtimes: nvidia runc io.containerd.runc.v2
Download compose.yaml:
curl -SL -o compose.yaml https://raw.githubusercontent.com/bigbrozer/comfyture/refs/heads/main/compose.yamlCreate data directory to persist all data:
mkdir dataAdapt the compose file to your need.
Run:
docker compose up -dOpen you browser on http://localhost:8188.
Follow the guide to generate your first image.
Enjoy !
| Extension | Description |
|---|---|
| Kosinkadink/ComfyUI-Advanced-ControlNet | Advanced ControlNet nodes for ComfyUI. |
| Fannovel16/comfyui_controlnet_aux | Auxiliary ControlNet nodes for ComfyUI. |
| pythongosssss/ComfyUI-Custom-Scripts | A collection of custom scripts for ComfyUI. |
| PozzettiAndrea/ComfyUI-DepthAnythingV3 | Nodes to support DepthAnything V3 model in ComfyUI. |
| cubiq/ComfyUI_essentials | Essential nodes and utilities for ComfyUI. |
| FizzleDorf/ComfyUI_FizzNodes | A set of useful and specialized nodes for ComfyUI. |
| kijai/ComfyUI-Florence2 | ComfyUI integration for the Florence2 model. |
| city96/ComfyUI-GGUF | Nodes for working with GGUF models in ComfyUI. |
| ltdrdata/ComfyUI-Impact-Pack | A comprehensive pack of nodes for ComfyUI. |
| ltdrdata/ComfyUI-Impact-Subpack | A smaller subset of nodes from the Impact pack for ComfyUI. |
| Acly/comfyui-inpaint-nodes | Inpainting nodes for ComfyUI. |
| cubiq/ComfyUI_IPAdapter_plus | IPAdapter Plus nodes for ComfyUI. |
| kijai/ComfyUI-KJNodes | A collection of useful nodes created by kijai. |
| Firetheft/ComfyUI_Local_Image_Gallery | A local image gallery node for ComfyUI. |
| stavsap/comfyui-ollama | Ollama integration for ComfyUI. |
| wolfden/ComfyUi_PromptStylers | Nodes for styling prompts in ComfyUI. |
| rgthree/rgthree-comfy | Nodes and tools from the rgthree ecosystem for ComfyUI. |
| storyicon/comfyui_segment_anything | Segment Anything model integration for ComfyUI. |
| kijai/ComfyUI-segment-anything-2 | Another implementation of Segment Anything nodes for ComfyUI. |
| Acly/comfyui-tooling-nodes | Utility and tooling nodes for ComfyUI. |
| ssitu/ComfyUI_UltimateSDUpscale | Advanced upscaling nodes for Stable Diffusion in ComfyUI. |
| Enemyx-net/VibeVoice-ComfyUI | Integration for using VibeVoice audio generation in ComfyUI. |
| Kosinkadink/ComfyUI-VideoHelperSuite | A suite of nodes for video processing in ComfyUI. |
| kijai/ComfyUI-WanVideoWrapper | Nodes for wrapping and processing video in ComfyUI. |
A default set of arguments are passed to ComfyUI by default:
--verbose
--listen=0.0.0.0
--disable-auto-launch
--multi-user
--disable-smart-memory
--cache-none
--preview-method=latent2rgb
--enable-manager
You can add extra arguments to ComfyUI. Creates extra.yaml:
# Example to enable sage attention
services:
comfyui:
command:
- "--enable-sage-attention"
# Or...
# Example to enable flash attention
services:
comfyui:
command:
- "--enable-flash-attention"Then run the stack with:
docker compose -f compose.yaml -f extra.yaml up -dIf you do not like the default arguments, switch them off by setting COMFYUI_NO_DEFAULTS=true. See below.
You can use these variables in compose.yaml.
| Variable | Default | Description |
|---|---|---|
| PUID | 2000 |
Set the User ID for files. |
| PGID | 2000 |
Set the Group ID for files. |
| COMFYUI_NO_DEFAULTS | false |
If true, disable default arguments, see how to pass your own arguments to ComfyUI. |
By default, the local ./data directory will contain everything for ComfyUI. You can customize the compose.yaml file to your needs.
| Host Folder | Target Mount Point | Description |
|---|---|---|
./data/python |
/opt/comfyui/python |
Persist Python venv & cache for fast startup |
./data/custom_nodes |
/opt/comfyui/app/custom_nodes |
Persist custom nodes installations |
./data/models |
/opt/comfyui/app/models |
Persist models |
./data/input |
/opt/comfyui/app/input |
Persist input images |
./data/output |
/opt/comfyui/app/output |
Persist output images |
./data/profiles |
/opt/comfyui/app/user |
Persist user profiles |
- Add more stack examples:
- Traefik + Authelia + ComfyUI
- Do not use a shell script to install extensions but a configuration file (YAML, TOML, ...).
This project is licensed under the MIT License (LICENSE).
ℹ️ Note: This image uses NVIDIA's official CUDA runtime. Requires GPU hardware and NVIDIA drivers for proper operation.
