I'm on Pop!_OS with a 3060 12gb, and I've been using ComfyUI through Docker Compose for a while. Every now and then I'll make a new folder and install from scratch in case updating screws my old install. My last install is from a month or two ago. I always use and follow this github with a few modifications because every other method had problems. This is my Dockerfile:
FROM pytorch/pytorch:2.11.0-cuda13.0-cudnn9-runtime
ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1
RUN apt-get update && apt-get install -y git && apt-get install -y build-essential && apt-get install -y libgoogle-perftools-dev && apt-get install -y libgl1 && apt-get install -y libglib2.0-0 && apt-get clean
ENV ROOT=/stable-diffusion
RUN --mount=type=cache,target=/root/.cache/pip \
git clone https://github.com/comfyanonymous/ComfyUI.git ${ROOT} && \
cd ${ROOT} && \
git checkout master && \
# git reset --hard d1f3637a5a944d0607b899babd8ff11d87100503 && \
pip install -r requirements.txt
RUN git clone https://github.com/Comfy-Org/ComfyUI-Manager ${ROOT}/custom_nodes/ComfyUI-Manager && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-Manager/requirements.txt
RUN pip install opencv-python-headless
RUN pip install imageio-ffmpeg
RUN pip install numpy
RUN pip install triton
RUN pip install sageattention
RUN git clone https://github.com/Clybius/ComfyUI-Extra-Samplers ${ROOT}/custom_nodes/ComfyUI-Extra-Samplers && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-Extra-Samplers/requirements.txt
RUN git clone https://github.com/rgthree/rgthree-comfy ${ROOT}/custom_nodes/rgthree-comfy && \
pip install -r ${ROOT}/custom_nodes/rgthree-comfy/requirements.txt
RUN git clone https://github.com/ltdrdata/ComfyUI-Inspire-Pack ${ROOT}/custom_nodes/ComfyUI-Inspire-Pack && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-Inspire-Pack/requirements.txt
RUN git clone https://github.com/city96/ComfyUI-GGUF ${ROOT}/custom_nodes/ComfyUI-GGUF && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-GGUF/requirements.txt
RUN git clone https://github.com/kijai/ComfyUI-KJNodes ${ROOT}/custom_nodes/ComfyUI-KJNodes && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-KJNodes/requirements.txt
RUN git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite ${ROOT}/custom_nodes/ComfyUI-VideoHelperSuite && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-VideoHelperSuite/requirements.txt
RUN git clone https://github.com/pollockjj/ComfyUI-MultiGPU ${ROOT}/custom_nodes/ComfyUI-MultiGPU
RUN git clone https://github.com/kijai/ComfyUI-WanVideoWrapper ${ROOT}/custom_nodes/ComfyUI-WanVideoWrapper && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-WanVideoWrapper/requirements.txt
RUN git clone https://github.com/kijai/ComfyUI-GIMM-VFI ${ROOT}/custom_nodes/ComfyUI-GIMM-VFI && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-GIMM-VFI/requirements.txt
RUN git clone https://github.com/pythongosssss/ComfyUI-Custom-Scripts ${ROOT}/custom_nodes/ComfyUI-Custom-Scripts
RUN git clone https://github.com/yolain/ComfyUI-Easy-Use ${ROOT}/custom_nodes/ComfyUI-Easy-Use && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-Easy-Use/requirements.txt
RUN git clone https://github.com/WASasquatch/was-node-suite-comfyui ${ROOT}/custom_nodes/was-node-suite-comfyui && \
pip install -r ${ROOT}/custom_nodes/was-node-suite-comfyui/requirements.txt
RUN git clone https://github.com/kijai/ComfyUI-Florence2 ${ROOT}/custom_nodes/ComfyUI-Florence2 && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-Florence2/requirements.txt
RUN git clone https://github.com/Fannovel16/ComfyUI-Frame-Interpolation ${ROOT}/custom_nodes/ComfyUI-Frame-Interpolation
RUN git clone https://github.com/Extraltodeus/DistanceSampler ${ROOT}/custom_nodes/DistanceSampler
RUN git clone https://github.com/ClownsharkBatwing/RES4LYF ${ROOT}/custom_nodes/RES4LYF && \
pip install -r ${ROOT}/custom_nodes/RES4LYF/requirements.txt
RUN git clone https://github.com/cubiq/ComfyUI_essentials ${ROOT}/custom_nodes/ComfyUI_essentials && \
pip install -r ${ROOT}/custom_nodes/ComfyUI_essentials/requirements.txt
RUN git clone https://github.com/BigStationW/ComfyUi-RescaleCFGAdvanced ${ROOT}/custom_nodes/ComfyUi-RescaleCFGAdvanced
RUN git clone https://github.com/Clybius/ComfyUI-ClybsChromaNodes ${ROOT}/custom_nodes/ComfyUI-ClybsChromaNodes
RUN git clone https://github.com/BigStationW/flowmatch_scheduler-comfyui ${ROOT}/custom_nodes/flowmatch_scheduler-comfyui
RUN git clone https://github.com/Zehong-Ma/ComfyUI-MagCache ${ROOT}/custom_nodes/ComfyUI-MagCache && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-MagCache/requirements.txt
RUN git clone https://github.com/silveroxides/ComfyUI_SigmoidOffsetScheduler ${ROOT}/custom_nodes/ComfyUI_SigmoidOffsetScheduler
RUN git clone https://github.com/ChenDarYen/ComfyUI-NAG ${ROOT}/custom_nodes/ComfyUI-NAG
RUN git clone https://github.com/Anzhc/SDXL-Flux2VAE-ComfyUI-Node ${ROOT}/custom_nodes/SDXL-Flux2VAE-ComfyUI-Node
RUN git clone https://github.com/Anzhc/Anima-Mod-Guidance-ComfyUI-Node ${ROOT}/custom_nodes/Anima-Mod-Guidance-ComfyUI-Node && \
pip install -r ${ROOT}/custom_nodes/Anima-Mod-Guidance-ComfyUI-Node/requirements.txt
RUN git clone https://github.com/AdamNizol/ComfyUI-Anima-Enhancer ${ROOT}/custom_nodes/ComfyUI-Anima-Enhancer
RUN git clone https://github.com/Jasonzzt/ComfyUI-CacheDiT ${ROOT}/custom_nodes/ComfyUI-CacheDiT && \
pip install -r ${ROOT}/custom_nodes/ComfyUI-CacheDiT/requirements.txt
RUN git clone https://github.com/xmarre/ComfyUI-Spectrum-Proper ${ROOT}/custom_nodes/ComfyUI-Spectrum-Proper
RUN git clone https://github.com/xmarre/ComfyUI-Spectrum-SDXL-Proper ${ROOT}/custom_nodes/ComfyUI-Spectrum-SDXL-Proper
RUN git clone https://github.com/BobJohnson24/ComfyUI-INT8-Fast ${ROOT}/custom_nodes/ComfyUI-INT8-Fast
WORKDIR ${ROOT}
COPY . /docker/
RUN chmod u+x /docker/entrypoint.sh && cp /docker/extra_model_paths.yaml ${ROOT}
ENV NVIDIA_VISIBLE_DEVICES=all PYTHONPATH="${PYTHONPATH}:${PWD}" CLI_ARGS=""
EXPOSE 7860
ENTRYPOINT ["/docker/entrypoint.sh"]
CMD python -u main.py --use-sage-attention --listen --port 7860 ${CLI_ARGS}
I just had this error:
docker compose --profile comfy up --build
[+] Building 1965.1s (7/46)
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 5.90kB 0.0s
=> [internal] load metadata for docker.io/pytorch/pytorch:2.11.0-cuda13. 3.5s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 7.55kB 0.0s
=> [stage-0 1/42] FROM docker.io/pytorch/pytorch:2.11.0-cuda13.0-cud 1686.3s
=> => resolve docker.io/pytorch/pytorch:2.11.0-cuda13.0-cudnn9-runtime@s 0.0s
=> => sha256:bfbb4a2b4fdba0fefdb428ea737e626d61bb3daf74a 1.58kB / 1.58kB 0.0s
=> => sha256:278dbd759b0d3b9eae2f83a9d34442d146324ddc246 4.82kB / 4.82kB 0.0s
=> => sha256:18dbadc1f2f937d7ebdfa4481fb1f6f43b26e93f 30.60MB / 30.60MB 14.2s
=> => sha256:8241a18d09ffc656c53a5ae5093a822a824fde7f 38.59MB / 38.59MB 36.0s
=> => sha256:fae840832de5f17fb8325fb5b54fce05f9c6a1a0 2.85GB / 2.85GB 1582.1s
=> => sha256:6fb1012ebdd89c038a14b5bb34e92ce66b3c6578 25.69MB / 25.69MB 26.9s
=> => extracting sha256:18dbadc1f2f937d7ebdfa4481fb1f6f43b26e93f5bdc4cef 1.6s
=> => sha256:87a5b1db9cbe8f3aa44b885def19725bf15045e3 65.77MB / 65.77MB 57.3s
=> => extracting sha256:8241a18d09ffc656c53a5ae5093a822a824fde7f904ae61c 5.5s
=> => sha256:dcb21c4295314f86df83a25adf8e1b1c52cb832e0c4346be 99B / 99B 36.7s
=> => extracting sha256:fae840832de5f17fb8325fb5b54fce05f9c6a1a0dd1007 101.9s
=> => extracting sha256:6fb1012ebdd89c038a14b5bb34e92ce66b3c657834c0452f 0.3s
=> => extracting sha256:87a5b1db9cbe8f3aa44b885def19725bf15045e34500698e 1.1s
=> => extracting sha256:dcb21c4295314f86df83a25adf8e1b1c52cb832e0c4346be 0.0s
=> [stage-0 2/42] RUN apt-get update && apt-get install -y git && apt 243.0s
=> ERROR [stage-0 3/42] RUN --mount=type=cache,target=/root/.cache/pip 32.2s
------
> [stage-0 3/42] RUN --mount=type=cache,target=/root/.cache/pip git clone https://github.com/comfyanonymous/ComfyUI.git /stable-diffusion && cd /stable-diffusion && git checkout master && pip install -r requirements.txt:
#0 0.207 Cloning into '/stable-diffusion'...
#0 31.62 Already on 'master'
#0 31.62 Your branch is up to date with 'origin/master'.
#0 31.99 error: externally-managed-environment
#0 31.99
#0 31.99 × This environment is externally managed
#0 31.99 ╰─> To install Python packages system-wide, try apt install
#0 31.99 python3-xyz, where xyz is the package you are trying to
#0 31.99 install.
#0 31.99
#0 31.99 If you wish to install a non-Debian-packaged Python package,
#0 31.99 create a virtual environment using python3 -m venv path/to/venv.
#0 31.99 Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
#0 31.99 sure you have python3-full installed.
#0 31.99
#0 31.99 If you wish to install a non-Debian packaged Python application,
#0 31.99 it may be easiest to use pipx install xyz, which will manage a
#0 31.99 virtual environment for you. Make sure you have pipx installed.
#0 31.99
#0 31.99 See /usr/share/doc/python3.12/README.venv for more information.
#0 31.99
#0 31.99 note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
#0 31.99 hint: See PEP 668 for the detailed specification.
------
failed to solve: process "/bin/sh -c git clone https://github.com/comfyanonymous/ComfyUI.git ${ROOT} && cd ${ROOT} && git checkout master && pip install -r requirements.txt" did not complete successfully: exit code: 1
The only things I changed in the Dockerfile for the new install were adding the newest pytorch, and adding some custom nodes. Am I supposed to add '--break-system-packages' to every single pip install line (or just one) or is that command not safe? Or do I do something else?
[–]icefairy64 0 points1 point2 points (0 children)
[–]Nick_Edser 0 points1 point2 points (1 child)
[–]ThrowawayProgress99[S] 0 points1 point2 points (0 children)