-
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
Comfy update and taesd and also medvram for a1111 #547
base: master
Are you sure you want to change the base?
Changes from all commits
27c560c
e8681cf
6a3fb0c
c99a240
fc23291
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,28 +8,24 @@ ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 | |
|
||
RUN apt-get update && apt-get install -y git && apt-get clean | ||
|
||
RUN --mount=type=cache,target=/root/.cache/pip \ | ||
--mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.21-cp310-cp310-linux_x86_64.whl \ | ||
pip install /xformers-0.0.21-cp310-cp310-linux_x86_64.whl | ||
|
||
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 884ea653c8d6fe19b3724f45a04a0d74cd881f2f && \ | ||
git reset --hard 91ed2815d542c96fdad75edba2205140de3cbba6 && \ | ||
pip install -r requirements.txt | ||
|
||
|
||
RUN --mount=type=cache,target=/root/.cache/pip \ | ||
--mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.21-cp310-cp310-linux_x86_64.whl \ | ||
pip install /xformers-0.0.21-cp310-cp310-linux_x86_64.whl | ||
|
||
|
||
WORKDIR ${ROOT} | ||
|
||
ARG BRANCH=master SHA=8607c2d42d10b0108de02528e813cc703e58813f | ||
RUN --mount=type=cache,target=/root/.cache/pip \ | ||
git fetch && \ | ||
git checkout ${BRANCH} && \ | ||
git reset --hard ${SHA} && \ | ||
pip install -r requirements.txt | ||
ADD https://github.com/madebyollin/taesd/raw/main/taesd_decoder.pth \ | ||
${ROOT}/models/vae_approx/taesd_decoder.pth | ||
ADD https://github.com/madebyollin/taesd/raw/main/taesdxl_decoder.pth \ | ||
${ROOT}/models/vae_approx/taesdxl_decoder.pth | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. these be overridden by the mounts on container startup? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I did test it and it worked. I believe the reason that this works, is because in the config https://github.com/AbdBarho/stable-diffusion-webui-docker/blob/master/services/comfy/extra_model_paths.yaml it only ever specifies subdirs of models. So, the models dir is never directly bindmounted (which would blow away these taesd decoders from If user adds There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Isn't this something that should go into the download service? Seems more appropriate to me, and less likely to cause surprises. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. maybe? I am not really sure, most of the users want to use A1111, they maybe don't care about these files but they get downloaded regardless? not really sure... There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fair enough. In that case, a download-comfy profile could be better? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TAESD is useful for both comfy and a1111. I consider it to be an ideal compromise between overhead and quality, but afaik a1111 has a self installing option for it in its settings. My change is just to provide it for comfy. Expanding the download profile to have a comfy specific one is reasonable, I guess but kind of calls into question the whole approach of having a download profile tbh, I mean I get why it's a thing, but it's pretty awkward to require users to have to deal with choosing what they're suppose to be running. For example: if the workflow is always to run There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @unphased maybe it would have been a lot easier to know that each of the files is only ~5MB each, I guess it would be totally fine to add them to the download service. I was worried they are maybe a couple of gigabytes each, and that would be a problem. Regarding
That would be cool, the way we do it now is that we validate the checksums of the downloaded files, which takes a couple of minutes on a really beefy machine, and I would not want to run this on every startup. The reason we validate the checksum is because the HF api drops the connection a lot and the downloads gets interrupted many times. maybe we can change this decision in the future, that would be another topic. |
||
|
||
# add info | ||
COPY . /docker/ | ||
|
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.
please get this back in, the two times install makes updates at least 10x faster.