-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update ComfyUI #451
Update ComfyUI #451
Conversation
Fixes error about not having permission to execute entrypoint.sh
hmmm, weird, I did not have this problem.
triton now is now automatically installed with pytorch 2. |
If you use a "save image" node, it automatically saves to the output folder? It does not for me. It will only work if I specifically add that docker mount. |
This is mostly temporary but I pushed it so you can get the idea. I am now currently working on making custom nodes much easier to install. |
Wont error from a file that doesn't exist
Yeah extensions are weird, same situation is for That being said, pip is smart enough to not re-install everything, only missing stuff. Do you think a |
services/comfy/entrypoint.sh
Outdated
@@ -44,4 +44,16 @@ for to_path in "${!MOUNTS[@]}"; do | |||
echo Mounted $(basename "${from_path}") | |||
done | |||
|
|||
if [ "$(ls -A /stable-diffusion/custom_nodes)" ]; then | |||
chmod 777 -R "/stable-diffusion/custom_nodes/" | |||
apt-get install build-essential -y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we could move this into the dockerfile, where we install aria2 and others
services/comfy/entrypoint.sh
Outdated
@@ -44,4 +44,16 @@ for to_path in "${!MOUNTS[@]}"; do | |||
echo Mounted $(basename "${from_path}") | |||
done | |||
|
|||
if [ "$(ls -A /stable-diffusion/custom_nodes)" ]; then | |||
chmod 777 -R "/stable-diffusion/custom_nodes/" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is this necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing reasons. I wasn't going to bother fixing everything until there was a proposed solution
services/comfy/entrypoint.sh
Outdated
for dir in "/stable-diffusion/custom_nodes/*"; do | ||
if [ -e "$dir/requirements.txt" ]; then | ||
echo $dir | ||
cd $dir | ||
pip install -r requirements.txt | ||
fi | ||
done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we could simplify this loop
shopt -s nullglob
list=(${ROOT}/custom_nodes/*/requirements.txt)
for req in "${list[@]}"; do
pip install -r "$req"
done
volumes: | ||
- *v2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is already mounted in the x-base-service
, so there is no need to change the mounts here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's the issue though. I know it's present in the base, but the save image node won't save the images to the hosts output directory unless it is present in the actual profile.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the output folder of the save image node? and does the output/comfy
exist on your machine?
Maybe. It would definitely work, but it would really only be used for the Debian packages since the node pip dependencies would be included in their requirements.txt files. I'll quickly whip up a design and see how you like it |
volumes: | ||
- *v2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the output folder of the save image node? and does the output/comfy
exist on your machine?
shopt -s nullglob | ||
list=(${ROOT}/custom_nodes/*/requirements.txt) | ||
for req in "${list[@]}"; do | ||
pip install -r "$req" | ||
done | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do still think this should be separate, otherwise it could introduce so many bugs we cannot account for.
i.e. we build the container with certain dependencies, yet at startup they get overwritten by random ones from the extensions.
An example which is very frustrating that comes to mind is opencv-headless
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The save image node doesn't have a path, just a name I set it to. It should save the image to the output/ folder in the comfyui directory. /output/comfy does exist on my system.
Would it be possible to create a whole separate pip environment for the extensions alone? I'm not familiar with it or python so I don't know if it's possible and how it would be done anyways.
hey I am going to take the liberty and change some stuff do we can get this merged. The auto install of custom node dependencies will be removed, but can still be added in a new PR. |
Closes #451 --------- Co-authored-by: PassiveLemon <[email protected]>
Closes AbdBarho#451 --------- Co-authored-by: PassiveLemon <[email protected]>
Just updated ComfyUI to Pytorch 2, Xformers 0.0.20, and the latest Comfy commit. I updated the Docker-compose accordingly.
This also fixes an issue where the mount for the output is not loaded so the container will not save images to a host mounted directory.
I found zero change with and without Triton so I just removed it.