From cdde93b8bbcf19b607411dcc9dbdcf7b22981b84 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Sat, 24 Jun 2023 10:06:30 +0200 Subject: [PATCH 01/30] v8 (#516) https://github.com/comfyanonymous/ComfyUI/commit/8607c2d42d10b0108de02528e813cc703e58813f --- .devscripts/migratev7tov8.sh | 28 +++++++++++++++++++ data/.gitignore | 26 +----------------- docker-compose.yml | 10 +++---- services/AUTOMATIC1111/entrypoint.sh | 39 +++++++++++++-------------- services/comfy/Dockerfile | 13 ++++----- services/comfy/extra_model_paths.yaml | 24 ++++++++--------- services/download/checksums.sha256 | 16 +++++------ services/download/download.sh | 36 +++++++------------------ services/download/links.txt | 4 +-- services/invoke/Dockerfile | 2 +- services/invoke/entrypoint.sh | 8 +++--- 11 files changed, 93 insertions(+), 113 deletions(-) create mode 100644 .devscripts/migratev7tov8.sh diff --git a/.devscripts/migratev7tov8.sh b/.devscripts/migratev7tov8.sh new file mode 100644 index 0000000..421da1e --- /dev/null +++ b/.devscripts/migratev7tov8.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -Eeuo pipefail + +echo "Renaming..." + +# compatible with default auto-names +mv -v ./data/StableDiffusion ./data/Stable-diffusion +mv -v ./data/Deepdanbooru ./data/torch_deepdanbooru + +# casing problem on windows +mv -v ./data/Hypernetworks ./data/hypernetworks1 +mv -v ./data/hypernetworks1 ./data/hypernetworks + +mv -v ./data/MiDaS ./data/midas1 +mv -v ./data/midas1 ./data/midas + + +echo "Moving folders..." + +mkdir -pv ./final + +mv -v ./data/config ./final/config +mv -v ./data/.cache ./final/.cache +mv -v ./data/embeddings ./final/embeddings +mv -v ./data ./final/models + +mv -v ./final ./data diff --git a/data/.gitignore b/data/.gitignore index 90e640d..946349a 100644 --- a/data/.gitignore +++ b/data/.gitignore @@ -1,28 +1,4 @@ -# for all of the stuff downloaded by transformers, pytorch, and others /.cache -# for UIs /config -# for all stable diffusion models (main, waifu diffusion, etc..) -/StableDiffusion -# others -/Codeformer -/GFPGAN -/ESRGAN -/BSRGAN -/RealESRGAN -/SwinIR -/MiDaS -/BLIP -/ScuNET -/LDSR -/Deepdanbooru -/Hypernetworks -/VAE /embeddings -/Lora -/ControlNet -/openpose -/ModelScope -/LyCORIS -/GLIGEN -/CLIPEncoder +/models diff --git a/docker-compose.yml b/docker-compose.yml index 20e98f7..bff738d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,7 +6,8 @@ x-base_service: &base_service volumes: - &v1 ./data:/data - &v2 ./output:/output - stop_signal: SIGINT + stop_signal: SIGKILL + tty: true deploy: resources: reservations: @@ -28,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:58 + image: sd-auto:59 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api @@ -43,7 +44,7 @@ services: <<: *base_service profiles: ["invoke"] build: ./services/invoke/ - image: sd-invoke:29 + image: sd-invoke:30 environment: - PRELOAD=true - CLI_ARGS=--xformers @@ -59,8 +60,7 @@ services: <<: *base_service profiles: ["comfy"] build: ./services/comfy/ - image: sd-comfy:2 - tty: true + image: sd-comfy:3 environment: - CLI_ARGS= diff --git a/services/AUTOMATIC1111/entrypoint.sh b/services/AUTOMATIC1111/entrypoint.sh index 337a4d6..095c2d1 100755 --- a/services/AUTOMATIC1111/entrypoint.sh +++ b/services/AUTOMATIC1111/entrypoint.sh @@ -19,30 +19,14 @@ if [ ! -f /data/config/auto/styles.csv ]; then touch /data/config/auto/styles.csv fi +# copy models from original models folder +rsync -a --info=NAME ${ROOT}/models/VAE-approx/ /data/models/VAE-approx/ +rsync -a --info=NAME ${ROOT}/models/karlo/ /data/models/karlo/ + declare -A MOUNTS MOUNTS["/root/.cache"]="/data/.cache" - -# main -MOUNTS["${ROOT}/models/Stable-diffusion"]="/data/StableDiffusion" -MOUNTS["${ROOT}/models/VAE"]="/data/VAE" -MOUNTS["${ROOT}/models/Codeformer"]="/data/Codeformer" -MOUNTS["${ROOT}/models/GFPGAN"]="/data/GFPGAN" -MOUNTS["${ROOT}/models/ESRGAN"]="/data/ESRGAN" -MOUNTS["${ROOT}/models/BSRGAN"]="/data/BSRGAN" -MOUNTS["${ROOT}/models/RealESRGAN"]="/data/RealESRGAN" -MOUNTS["${ROOT}/models/SwinIR"]="/data/SwinIR" -MOUNTS["${ROOT}/models/ScuNET"]="/data/ScuNET" -MOUNTS["${ROOT}/models/LDSR"]="/data/LDSR" -MOUNTS["${ROOT}/models/hypernetworks"]="/data/Hypernetworks" -MOUNTS["${ROOT}/models/torch_deepdanbooru"]="/data/Deepdanbooru" -MOUNTS["${ROOT}/models/BLIP"]="/data/BLIP" -MOUNTS["${ROOT}/models/midas"]="/data/MiDaS" -MOUNTS["${ROOT}/models/Lora"]="/data/Lora" -MOUNTS["${ROOT}/models/LyCORIS"]="/data/LyCORIS" -MOUNTS["${ROOT}/models/ControlNet"]="/data/ControlNet" -MOUNTS["${ROOT}/models/openpose"]="/data/openpose" -MOUNTS["${ROOT}/models/ModelScope"]="/data/ModelScope" +MOUNTS["${ROOT}/models"]="/data/models" MOUNTS["${ROOT}/embeddings"]="/data/embeddings" MOUNTS["${ROOT}/config.json"]="/data/config/auto/config.json" @@ -66,8 +50,21 @@ for to_path in "${!MOUNTS[@]}"; do echo Mounted $(basename "${from_path}") done +echo "Installing extension dependencies (if any)" + +# because we build our container as root: +chown -R root ~/.cache/ +chmod 766 ~/.cache/ + +shopt -s nullglob +list=(./extensions/*/requirements.txt) +for req in "${list[@]}"; do + pip install -r "$req" +done + if [ -f "/data/config/auto/startup.sh" ]; then pushd ${ROOT} + echo "Running startup script" . /data/config/auto/startup.sh popd fi diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index ddf60fb..69aaf49 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -1,14 +1,11 @@ FROM alpine:3.17 as xformers RUN apk add --no-cache aria2 -RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/5.0.0/xformers-0.0.17.dev449-cp310-cp310-manylinux2014_x86_64.whl' +RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/6.0.0/xformers-0.0.21.dev544-cp310-cp310-manylinux2014_x86_64-pytorch201.whl' - -FROM python:3.10.9-slim +FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 -RUN --mount=type=cache,target=/root/.cache/pip pip install torch==1.13.1 torchvision --extra-index-url https://download.pytorch.org/whl/cu117 - RUN apt-get update && apt-get install -y git && apt-get clean ENV ROOT=/stable-diffusion @@ -21,13 +18,13 @@ RUN --mount=type=cache,target=/root/.cache/pip \ RUN --mount=type=cache,target=/root/.cache/pip \ - --mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.17-cp310-cp310-linux_x86_64.whl \ - pip install triton /xformers-0.0.17-cp310-cp310-linux_x86_64.whl + --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=884ea653c8d6fe19b3724f45a04a0d74cd881f2f +ARG BRANCH=master SHA=8607c2d42d10b0108de02528e813cc703e58813f RUN --mount=type=cache,target=/root/.cache/pip \ git fetch && \ git checkout ${BRANCH} && \ diff --git a/services/comfy/extra_model_paths.yaml b/services/comfy/extra_model_paths.yaml index d16dfef..eb374eb 100644 --- a/services/comfy/extra_model_paths.yaml +++ b/services/comfy/extra_model_paths.yaml @@ -1,20 +1,20 @@ a111: base_path: /data - checkpoints: StableDiffusion - configs: StableDiffusion - vae: VAE - loras: Lora + checkpoints: models/Stable-diffusion + configs: models/Stable-diffusion + vae: models/VAE + loras: models/Lora upscale_models: | - RealESRGAN - ESRGAN - SwinIR - GFPGAN + models/RealESRGAN + models/ESRGAN + models/SwinIR + models/GFPGAN + hypernetworks: models/hypernetworks + controlnet: models/ControlNet + gligen: models/GLIGEN + clip: models/CLIPEncoder embeddings: embeddings - hypernetworks: Hypernetworks - controlnet: ControlNet - gligen: GLIGEN - clip: CLIPEncoder custom_nodes: config/comfy/custom_nodes diff --git a/services/download/checksums.sha256 b/services/download/checksums.sha256 index a64d6a4..ec4ed16 100644 --- a/services/download/checksums.sha256 +++ b/services/download/checksums.sha256 @@ -1,8 +1,8 @@ -cc6cb27103417325ff94f52b7a5d2dde45a7515b25c255d8e396c90014281516 /data/StableDiffusion/v1-5-pruned-emaonly.ckpt -c6bbc15e3224e6973459ba78de4998b80b50112b0ae5b5c67113d56b4e366b19 /data/StableDiffusion/sd-v1-5-inpainting.ckpt -c6a580b13a5bc05a5e16e4dbb80608ff2ec251a162311590c1f34c013d7f3dab /data/VAE/vae-ft-mse-840000-ema-pruned.ckpt -e2cd4703ab14f4d01fd1383a8a8b266f9a5833dacee8e6a79d3bf21a1b6be5ad /data/GFPGAN/GFPGANv1.4.pth -4fa0d38905f75ac06eb49a7951b426670021be3018265fd191d2125df9d682f1 /data/RealESRGAN/RealESRGAN_x4plus.pth -f872d837d3c90ed2e05227bed711af5671a6fd1c9f7d7e91c911a61f155e99da /data/RealESRGAN/RealESRGAN_x4plus_anime_6B.pth -c209caecac2f97b4bb8f4d726b70ac2ac9b35904b7fc99801e1f5e61f9210c13 /data/LDSR/model.ckpt -9d6ad53c5dafeb07200fb712db14b813b527edd262bc80ea136777bdb41be2ba /data/LDSR/project.yaml +cc6cb27103417325ff94f52b7a5d2dde45a7515b25c255d8e396c90014281516 /data/models/Stable-diffusion/v1-5-pruned-emaonly.ckpt +c6bbc15e3224e6973459ba78de4998b80b50112b0ae5b5c67113d56b4e366b19 /data/models/Stable-diffusion/sd-v1-5-inpainting.ckpt +c6a580b13a5bc05a5e16e4dbb80608ff2ec251a162311590c1f34c013d7f3dab /data/models/VAE/vae-ft-mse-840000-ema-pruned.ckpt +e2cd4703ab14f4d01fd1383a8a8b266f9a5833dacee8e6a79d3bf21a1b6be5ad /data/models/GFPGAN/GFPGANv1.4.pth +4fa0d38905f75ac06eb49a7951b426670021be3018265fd191d2125df9d682f1 /data/models/RealESRGAN/RealESRGAN_x4plus.pth +f872d837d3c90ed2e05227bed711af5671a6fd1c9f7d7e91c911a61f155e99da /data/models/RealESRGAN/RealESRGAN_x4plus_anime_6B.pth +c209caecac2f97b4bb8f4d726b70ac2ac9b35904b7fc99801e1f5e61f9210c13 /data/models/LDSR/model.ckpt +9d6ad53c5dafeb07200fb712db14b813b527edd262bc80ea136777bdb41be2ba /data/models/LDSR/project.yaml diff --git a/services/download/download.sh b/services/download/download.sh index 68ea540..fbe5a70 100755 --- a/services/download/download.sh +++ b/services/download/download.sh @@ -4,30 +4,18 @@ set -Eeuo pipefail # TODO: maybe just use the .gitignore file to create all of these mkdir -vp /data/.cache \ - /data/StableDiffusion \ - /data/LyCORIS \ - /data/Codeformer \ - /data/ModelScope \ - /data/GFPGAN \ - /data/ESRGAN \ - /data/BSRGAN \ - /data/RealESRGAN \ - /data/SwinIR \ - /data/LDSR \ - /data/ScuNET \ /data/embeddings \ - /data/VAE \ - /data/Deepdanbooru \ - /data/MiDaS \ - /data/Lora \ - /data/ControlNet \ - /data/openpose \ - /data/GLIGEN \ - /data/CLIPEncoder # this is different from the cached pre-train ViT saved in /data/.cache/clip TODO: find out how + /data/config/ \ + /data/models/ \ + /data/models/Stable-diffusion \ + /data/models/GFPGAN \ + /data/models/RealESRGAN \ + /data/models/LDSR \ + /data/models/VAE echo "Downloading, this might take a while..." -aria2c -x 10 --disable-ipv6 --input-file /docker/links.txt --dir /data --continue +aria2c -x 10 --disable-ipv6 --input-file /docker/links.txt --dir /data/models --continue echo "Checking SHAs..." @@ -39,11 +27,5 @@ https://github.com/AbdBarho/stable-diffusion-webui-docker/blob/master/LICENSE https://github.com/CompVis/stable-diffusion/blob/main/LICENSE https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/master/LICENSE.txt https://github.com/invoke-ai/InvokeAI/blob/main/LICENSE -https://github.com/sd-webui/stable-diffusion-webui/blob/master/LICENSE -https://github.com/cszn/BSRGAN/blob/main/LICENSE -https://github.com/sczhou/CodeFormer/blob/master/LICENSE -https://github.com/TencentARC/GFPGAN/blob/master/LICENSE -https://github.com/xinntao/Real-ESRGAN/blob/master/LICENSE -https://github.com/xinntao/ESRGAN/blob/master/LICENSE -https://github.com/cszn/SCUNet/blob/main/LICENSE +And licenses of all UIs, third party libraries, and extensions. EOF diff --git a/services/download/links.txt b/services/download/links.txt index 693c911..3616449 100644 --- a/services/download/links.txt +++ b/services/download/links.txt @@ -1,9 +1,9 @@ https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt - out=StableDiffusion/v1-5-pruned-emaonly.ckpt + out=Stable-diffusion/v1-5-pruned-emaonly.ckpt https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt out=VAE/vae-ft-mse-840000-ema-pruned.ckpt https://huggingface.co/runwayml/stable-diffusion-inpainting/resolve/main/sd-v1-5-inpainting.ckpt - out=StableDiffusion/sd-v1-5-inpainting.ckpt + out=Stable-diffusion/sd-v1-5-inpainting.ckpt https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth out=GFPGAN/GFPGANv1.4.pth https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth diff --git a/services/invoke/Dockerfile b/services/invoke/Dockerfile index 3bc90b1..209c368 100644 --- a/services/invoke/Dockerfile +++ b/services/invoke/Dockerfile @@ -48,6 +48,6 @@ EXPOSE 7860 ENTRYPOINT ["/docker/entrypoint.sh"] CMD invokeai --web --host 0.0.0.0 --port 7860 --root_dir ${ROOT} --config ${CONFIG_DIR}/models.yaml \ - --outdir /output/invoke --embedding_directory /data/embeddings/ --lora_directory /data/Lora \ + --outdir /output/invoke --embedding_directory /data/embeddings/ --lora_directory /data/models/Lora \ --no-nsfw_checker --no-safety_checker ${CLI_ARGS} diff --git a/services/invoke/entrypoint.sh b/services/invoke/entrypoint.sh index b137c45..348bb2b 100755 --- a/services/invoke/entrypoint.sh +++ b/services/invoke/entrypoint.sh @@ -13,10 +13,10 @@ MOUNTS["/root/.cache"]=/data/.cache/ rm -rf ${HF_HOME}/diffusers # ui specific -MOUNTS["${ROOT}/models/codeformer"]=/data/Codeformer/ -MOUNTS["${ROOT}/models/gfpgan/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth -MOUNTS["${ROOT}/models/gfpgan/weights"]=/data/GFPGAN/ -MOUNTS["${ROOT}/models/realesrgan"]=/data/RealESRGAN/ +MOUNTS["${ROOT}/models/codeformer"]=/data/models/Codeformer/ +MOUNTS["${ROOT}/models/gfpgan/GFPGANv1.4.pth"]=/data/models/GFPGAN/GFPGANv1.4.pth +MOUNTS["${ROOT}/models/gfpgan/weights"]=/data/models/GFPGAN/ +MOUNTS["${ROOT}/models/realesrgan"]=/data/models/RealESRGAN/ MOUNTS["${ROOT}/models/ldm"]=/data/.cache/invoke/ldm/ From 6365811f3552766b5ed8f1b459a97d397cf9f7e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9E=E6=A5=BD=E5=9D=82=C2=B7=E5=96=B5?= Date: Sun, 25 Jun 2023 18:42:04 +0800 Subject: [PATCH 02/30] Modify installation extension dependencies (#518) Perform a full extension installation process instead of just installing dependencies Some extensions do not include `requirements.txt` but install dependencies in `install.py`, and all extensions include `install.py`, so it is safe to use it for extended dependency installation This is because the extension development of AUTOMATIC1111's webui does not require the existence of `requirements.txt` but uses `install.py` to initialize the extension https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions#installpy --- docker-compose.yml | 2 +- services/AUTOMATIC1111/entrypoint.sh | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index bff738d..8caad1d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:59 + image: sd-auto:60 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/entrypoint.sh b/services/AUTOMATIC1111/entrypoint.sh index 095c2d1..985f6f1 100755 --- a/services/AUTOMATIC1111/entrypoint.sh +++ b/services/AUTOMATIC1111/entrypoint.sh @@ -57,9 +57,10 @@ chown -R root ~/.cache/ chmod 766 ~/.cache/ shopt -s nullglob -list=(./extensions/*/requirements.txt) -for req in "${list[@]}"; do - pip install -r "$req" +# For install.py, please refer to https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions#installpy +list=(./extensions/*/install.py) +for installscript in "${list[@]}"; do + PYTHONPATH=${ROOT} python "$installscript" done if [ -f "/data/config/auto/startup.sh" ]; then From 6c45e0c2efd479a6c91bd7530db5dd20e0fa80c5 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Sun, 25 Jun 2023 20:21:41 +0200 Subject: [PATCH 03/30] Create dirs if not exist (#520) Closes #519 --- services/AUTOMATIC1111/entrypoint.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/AUTOMATIC1111/entrypoint.sh b/services/AUTOMATIC1111/entrypoint.sh index 985f6f1..5cdaacf 100755 --- a/services/AUTOMATIC1111/entrypoint.sh +++ b/services/AUTOMATIC1111/entrypoint.sh @@ -20,6 +20,8 @@ if [ ! -f /data/config/auto/styles.csv ]; then fi # copy models from original models folder +mkdir -p /data/models/VAE-approx/ /data/models/karlo/ + rsync -a --info=NAME ${ROOT}/models/VAE-approx/ /data/models/VAE-approx/ rsync -a --info=NAME ${ROOT}/models/karlo/ /data/models/karlo/ From 5e28222332a26692090c403787fd239c570189dd Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Sun, 25 Jun 2023 20:33:57 +0200 Subject: [PATCH 04/30] Allow setting port through env WEBUI_PORT (#521) I am actually not happy with this solution, I would prefer if it was possible to customize the ports within `docker-compose.override.yml` --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8caad1d..8d14e57 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.9' x-base_service: &base_service ports: - - "7860:7860" + - "${WEBUI_PORT:-7860}:7860" volumes: - &v1 ./data:/data - &v2 ./output:/output From 37a82af4b7de53e3f029b499a8a467bd388cfb0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9E=E6=A5=BD=E5=9D=82=C2=B7=E5=96=B5?= Date: Tue, 27 Jun 2023 03:37:37 +0800 Subject: [PATCH 05/30] Add build-essential package (#522) Fix the problem that some extensions need to be installed from src Now, because the step of installing extensions is moved forward in `entrypoint.sh` instead of `startup.sh`, we cannot install some required packages before executing `install.py` When installing the extension `sd-webui-roop`, it relies on `insightface==0.7.3`, and when installing this pypi package, it is found that when building the wheel package, an error will be reported because `gcc` cannot be found https://github.com/s0md3v/sd-webui-roop/blob/ddc02ee1a914ba387fa338f9542ec16d128c56e5/requirements.txt#L1 Therefore, considering that not all pypi packages are distributed in wheel, those pypi packages distributed in src need `build-essential` to build --- services/AUTOMATIC1111/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 6ef8fda..08ee0b6 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -30,7 +30,7 @@ RUN --mount=type=cache,target=/var/cache/apt \ # we need those apt-get install -y fonts-dejavu-core rsync git jq moreutils aria2 \ # extensions needs those - ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev + ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential RUN --mount=type=cache,target=/cache --mount=type=cache,target=/root/.cache/pip \ From 95e96602f93f789166e51909263ddb5e60476633 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Mon, 26 Jun 2023 21:57:45 +0200 Subject: [PATCH 06/30] Bump auto --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8d14e57..5795e5b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:60 + image: sd-auto:61 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api From 103e11493b80d5f945eb61902a6ba23409abcd39 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Sun, 2 Jul 2023 08:15:51 +0200 Subject: [PATCH 07/30] Auto 1.4.0 (#507) https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/394ffa7b0a7fff3ec484bcd084e673a8b301ccc8 Maybe bug: https://github.com/AUTOMATIC1111/stable-diffusion-webui/issues/11040 --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5795e5b..815a9bf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:61 + image: sd-auto:62 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 08ee0b6..55a049b 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -71,7 +71,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ RUN apt-get -y install libgoogle-perftools-dev && apt-get clean ENV LD_PRELOAD=libtcmalloc.so -ARG SHA=20ae71faa8ef035c31aa3a410b707d792c8203a3 +ARG SHA=394ffa7b0a7fff3ec484bcd084e673a8b301ccc8 RUN --mount=type=cache,target=/root/.cache/pip \ cd stable-diffusion-webui && \ git fetch && \ From 6de45b19844207bc0656328c48c00057d7dae207 Mon Sep 17 00:00:00 2001 From: cloudaxes <132535135+cloudaxes@users.noreply.github.com> Date: Sat, 22 Jul 2023 14:23:30 +0900 Subject: [PATCH 08/30] Upgrade k-diffusion to Release 0.0.15 to get access to DPM++ (2M) SDE sampler. (#537) Closes issue #536 --- services/AUTOMATIC1111/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 55a049b..fa08018 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -12,7 +12,7 @@ RUN . /clone.sh CodeFormer https://github.com/sczhou/CodeFormer.git c5b4593074ba && rm -rf assets inputs RUN . /clone.sh BLIP https://github.com/salesforce/BLIP.git 48211a1594f1321b00f14c9f7a5b4813144b2fb9 -RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git 5b3af030dd83e0297272d861c19477735d0317ec +RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git c9fe758757e022f05ca5a53fa8fac28889e4f1cf RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2486589f24165c8e3b303f84e9dbbea318df83e8 From 09a0f11946d4f600993a6d77afe81853da62cbbb Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Sat, 22 Jul 2023 08:31:17 +0200 Subject: [PATCH 09/30] Add startup script for comfy (#552) Closes #451 --------- Co-authored-by: PassiveLemon --- docker-compose.yml | 2 +- services/comfy/Dockerfile | 2 ++ services/comfy/entrypoint.sh | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 815a9bf..2b6c49d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,7 +60,7 @@ services: <<: *base_service profiles: ["comfy"] build: ./services/comfy/ - image: sd-comfy:3 + image: sd-comfy:4 environment: - CLI_ARGS= diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index 69aaf49..1cc2600 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -34,6 +34,8 @@ RUN --mount=type=cache,target=/root/.cache/pip \ # add info COPY . /docker/ RUN cp /docker/extra_model_paths.yaml ${ROOT} +RUN chmod u+x /docker/entrypoint.sh +RUN cp /docker/extra_model_paths.yaml ${ROOT} ENV NVIDIA_VISIBLE_DEVICES=all ENV PYTHONPATH="${PYTHONPATH}:${PWD}" CLI_ARGS="" diff --git a/services/comfy/entrypoint.sh b/services/comfy/entrypoint.sh index f5a7430..b4299a7 100755 --- a/services/comfy/entrypoint.sh +++ b/services/comfy/entrypoint.sh @@ -22,4 +22,10 @@ for to_path in "${!MOUNTS[@]}"; do echo Mounted $(basename "${from_path}") done +if [ -f "/data/config/comfy/startup.sh" ]; then + pushd ${ROOT} + . /data/config/comfy/startup.sh + popd +fi + exec "$@" From def76291f808cb249f8cfe35d8424a16a6a4c2f7 Mon Sep 17 00:00:00 2001 From: Manuel Schmid <9307310+mashb1t@users.noreply.github.com> Date: Sun, 30 Jul 2023 15:42:32 +0200 Subject: [PATCH 10/30] Update Automatic1111 to 1.5.1 to add compatibility for SDXL (#560) Uses the latest release of https://github.com/Stability-AI/generative-models 45c443b316737a4ab6e40413d7794a7f5657c19f Tested with the official SDXL 1.0 model from https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/sd_xl_base_1.0.safetensors and official refiner from https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/blob/main/sd_xl_refiner_1.0.safetensors. VAE: https://huggingface.co/stabilityai/sdxl-vae/blob/main/sdxl_vae.safetensors Closes #558 Closes #559 https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/68f336bd994bed5442ad95bad6b6ad5564a5409a --------- Co-authored-by: AbdBarho --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 2b6c49d..3f81ee2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:62 + image: sd-auto:63 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index fa08018..abca84f 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -14,6 +14,7 @@ RUN . /clone.sh CodeFormer https://github.com/sczhou/CodeFormer.git c5b4593074ba RUN . /clone.sh BLIP https://github.com/salesforce/BLIP.git 48211a1594f1321b00f14c9f7a5b4813144b2fb9 RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git c9fe758757e022f05ca5a53fa8fac28889e4f1cf RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2486589f24165c8e3b303f84e9dbbea318df83e8 +RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-models 45c443b316737a4ab6e40413d7794a7f5657c19f FROM alpine:3.17 as xformers @@ -71,7 +72,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ RUN apt-get -y install libgoogle-perftools-dev && apt-get clean ENV LD_PRELOAD=libtcmalloc.so -ARG SHA=394ffa7b0a7fff3ec484bcd084e673a8b301ccc8 +ARG SHA=68f336bd994bed5442ad95bad6b6ad5564a5409a RUN --mount=type=cache,target=/root/.cache/pip \ cd stable-diffusion-webui && \ git fetch && \ From 70357bf01e94a476416713f4a441f7739e9d4e8a Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Wed, 30 Aug 2023 19:55:06 +0200 Subject: [PATCH 11/30] Auto 1.5.2 (#579) https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/c9c8485bc1e8720aba70f029d25cba1c4abf2b5c --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3f81ee2..b4c1ee0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:63 + image: sd-auto:64 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index abca84f..e09f60b 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -72,7 +72,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ RUN apt-get -y install libgoogle-perftools-dev && apt-get clean ENV LD_PRELOAD=libtcmalloc.so -ARG SHA=68f336bd994bed5442ad95bad6b6ad5564a5409a +ARG SHA=c9c8485bc1e8720aba70f029d25cba1c4abf2b5c RUN --mount=type=cache,target=/root/.cache/pip \ cd stable-diffusion-webui && \ git fetch && \ From 59b9762ac7017e1cbe89101642e8794654246865 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Wed, 30 Aug 2023 20:00:48 +0200 Subject: [PATCH 12/30] Update Comfy (#580) https://github.com/comfyanonymous/ComfyUI/commit/7e941f9f247f9b013a33c2e7d117466108414e99 --- docker-compose.yml | 2 +- services/comfy/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b4c1ee0..b91b990 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,7 +60,7 @@ services: <<: *base_service profiles: ["comfy"] build: ./services/comfy/ - image: sd-comfy:4 + image: sd-comfy:5 environment: - CLI_ARGS= diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index 1cc2600..6d1f6ce 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -24,7 +24,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ WORKDIR ${ROOT} -ARG BRANCH=master SHA=8607c2d42d10b0108de02528e813cc703e58813f +ARG BRANCH=master SHA=7e941f9f247f9b013a33c2e7d117466108414e99 RUN --mount=type=cache,target=/root/.cache/pip \ git fetch && \ git checkout ${BRANCH} && \ From 84740598bc0cb98632db975cffc90b3cd9da6cab Mon Sep 17 00:00:00 2001 From: 66li <37136076+66li@users.noreply.github.com> Date: Fri, 1 Sep 2023 02:04:32 +0800 Subject: [PATCH 13/30] Update generative-models version (#581) Upgrade a dependent library https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/v1.5.2/modules/launch_utils.py#L288C90-L288C130 --------- Co-authored-by: AbdBarho --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b91b990..9157684 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:64 + image: sd-auto:65 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index e09f60b..25ffcac 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -14,7 +14,7 @@ RUN . /clone.sh CodeFormer https://github.com/sczhou/CodeFormer.git c5b4593074ba RUN . /clone.sh BLIP https://github.com/salesforce/BLIP.git 48211a1594f1321b00f14c9f7a5b4813144b2fb9 RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git c9fe758757e022f05ca5a53fa8fac28889e4f1cf RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2486589f24165c8e3b303f84e9dbbea318df83e8 -RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-models 45c443b316737a4ab6e40413d7794a7f5657c19f +RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-models 5c10deee76adad0032b412294130090932317a87 FROM alpine:3.17 as xformers From 630980b1bfb5404ebff662cb0edb7643de08849c Mon Sep 17 00:00:00 2001 From: Sebastian Piechowiak Date: Sat, 9 Sep 2023 15:34:06 +0200 Subject: [PATCH 14/30] Skipping installation of requirements for disabled extensions (#582) Closes #563 --- docker-compose.yml | 2 +- services/AUTOMATIC1111/entrypoint.sh | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 9157684..d7e543b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:65 + image: sd-auto:66 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/entrypoint.sh b/services/AUTOMATIC1111/entrypoint.sh index 5cdaacf..52f025f 100755 --- a/services/AUTOMATIC1111/entrypoint.sh +++ b/services/AUTOMATIC1111/entrypoint.sh @@ -62,6 +62,12 @@ shopt -s nullglob # For install.py, please refer to https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions#installpy list=(./extensions/*/install.py) for installscript in "${list[@]}"; do + EXTNAME=`echo $installscript | cut -d '/' -f 3` + # Skip installing dependencies if extension is disabled in config + if `jq -e ".disabled_extensions|any(. == \"$EXTNAME\")" config.json`; then + echo "Skipping disabled extension ($EXTNAME)" + continue + fi PYTHONPATH=${ROOT} python "$installscript" done From 6a34739135eb112667f00943c1fac98ab294716a Mon Sep 17 00:00:00 2001 From: cloudaxes <132535135+cloudaxes@users.noreply.github.com> Date: Sat, 9 Sep 2023 23:10:05 +0900 Subject: [PATCH 15/30] Update Automatic1111 to v1.6.0 (#585) Update Automatic1111 Stable Diffusion Webui to v1.6.0. Closes #583 --------- Co-authored-by: AbdBarho --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index d7e543b..93fba1d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:66 + image: sd-auto:67 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 25ffcac..f380f30 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -2,19 +2,17 @@ FROM alpine/git:2.36.2 as download COPY clone.sh /clone.sh -RUN . /clone.sh taming-transformers https://github.com/CompVis/taming-transformers.git 24268930bf1dce879235a7fddd0b2355b84d7ea6 \ - && rm -rf data assets **/*.ipynb -RUN . /clone.sh stable-diffusion-stability-ai https://github.com/Stability-AI/stablediffusion.git 47b6b607fdd31875c9279cd2f4f16b92e4ea958e \ +RUN . /clone.sh stable-diffusion-stability-ai https://github.com/Stability-AI/stablediffusion.git cf1d67a6fd5ea1aa600c4df58e5b47da45f6bdbf \ && rm -rf assets data/**/*.png data/**/*.jpg data/**/*.gif RUN . /clone.sh CodeFormer https://github.com/sczhou/CodeFormer.git c5b4593074ba6214284d6acd5f1719b6c5d739af \ && rm -rf assets inputs RUN . /clone.sh BLIP https://github.com/salesforce/BLIP.git 48211a1594f1321b00f14c9f7a5b4813144b2fb9 -RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git c9fe758757e022f05ca5a53fa8fac28889e4f1cf -RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2486589f24165c8e3b303f84e9dbbea318df83e8 -RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-models 5c10deee76adad0032b412294130090932317a87 +RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git ab527a9a6d347f364e3d185ba6d714e22d80cb3c +RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2cf03aaf6e704197fd0dae7c7f96aa59cf1b11c9 +RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-models 45c443b316737a4ab6e40413d7794a7f5657c19f FROM alpine:3.17 as xformers @@ -40,11 +38,10 @@ RUN --mount=type=cache,target=/cache --mount=type=cache,target=/root/.cache/pip pip install /cache/torch-2.0.1-cp310-cp310-linux_x86_64.whl torchvision --index-url https://download.pytorch.org/whl/cu118 - RUN --mount=type=cache,target=/root/.cache/pip \ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git && \ cd stable-diffusion-webui && \ - git reset --hard 20ae71faa8ef035c31aa3a410b707d792c8203a3 && \ + git reset --hard 5ef669de080814067961f28357256e8fe27544f4 && \ pip install -r requirements_versions.txt RUN --mount=type=cache,target=/root/.cache/pip \ @@ -55,7 +52,7 @@ ENV ROOT=/stable-diffusion-webui COPY --from=download /repositories/ ${ROOT}/repositories/ -RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/data/* ${ROOT}/interrogate +RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt @@ -65,6 +62,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ git+https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b + # Note: don't update the sha of previous versions because the install will take forever # instead, update the repo state in a later step @@ -72,7 +70,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ RUN apt-get -y install libgoogle-perftools-dev && apt-get clean ENV LD_PRELOAD=libtcmalloc.so -ARG SHA=c9c8485bc1e8720aba70f029d25cba1c4abf2b5c +ARG SHA=5ef669de080814067961f28357256e8fe27544f4 RUN --mount=type=cache,target=/root/.cache/pip \ cd stable-diffusion-webui && \ git fetch && \ From a2561f2659234c1adf69ccbcd302cb9578387729 Mon Sep 17 00:00:00 2001 From: cococig <84442548+cococig@users.noreply.github.com> Date: Tue, 14 Nov 2023 03:35:24 +0900 Subject: [PATCH 16/30] Update automatic1111 webui base image (#601) Update the minor version of Python in the base image for AUTOMATIC1111 web UI. Closes issue #600 --- services/AUTOMATIC1111/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index f380f30..b2618d0 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -20,7 +20,7 @@ RUN apk add --no-cache aria2 RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/6.0.0/xformers-0.0.21.dev544-cp310-cp310-manylinux2014_x86_64-pytorch201.whl' -FROM python:3.10.9-slim +FROM python:3.10.13-slim ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 From 3e67f559d43b53faeb4a32b63c8b89391f0b7248 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Mon, 13 Nov 2023 21:12:07 +0100 Subject: [PATCH 17/30] Update Auto (#610) Closes #609 https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/4afaaf8a020c1df457bcf7250cb1c7f609699fa7 --- .github/ISSUE_TEMPLATE/bug.md | 2 +- .github/pull_request_template.md | 1 - docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 41 ++++------------------------ services/AUTOMATIC1111/entrypoint.sh | 8 ++++-- services/AUTOMATIC1111/info.py | 14 ---------- 6 files changed, 14 insertions(+), 54 deletions(-) delete mode 100644 services/AUTOMATIC1111/info.py diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md index 2c2c54f..a475834 100644 --- a/.github/ISSUE_TEMPLATE/bug.md +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -19,7 +19,7 @@ assignees: "" **Which UI** -auto or auto-cpu or invoke or sygil? +auto or auto-cpu or invoke or comfy? **Hardware / Software** diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 6fd8686..38bdfd8 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -9,6 +9,5 @@ Closes issue # ### Update versions - auto: https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/ -- sygil: https://github.com/Sygil-Dev/sygil-webui/commit/ - invoke: https://github.com/invoke-ai/InvokeAI/commit/ - comfy: https://github.com/comfyanonymous/ComfyUI/commit/ diff --git a/docker-compose.yml b/docker-compose.yml index 93fba1d..b5b57e8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:67 + image: sd-auto:68 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index b2618d0..9e40d8c 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -15,12 +15,7 @@ RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interr RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-models 45c443b316737a4ab6e40413d7794a7f5657c19f -FROM alpine:3.17 as xformers -RUN apk add --no-cache aria2 -RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/6.0.0/xformers-0.0.21.dev544-cp310-cp310-manylinux2014_x86_64-pytorch201.whl' - - -FROM python:3.10.13-slim +FROM pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 @@ -32,58 +27,34 @@ RUN --mount=type=cache,target=/var/cache/apt \ ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential -RUN --mount=type=cache,target=/cache --mount=type=cache,target=/root/.cache/pip \ - aria2c -x 5 --dir /cache --out torch-2.0.1-cp310-cp310-linux_x86_64.whl -c \ - https://download.pytorch.org/whl/cu118/torch-2.0.1%2Bcu118-cp310-cp310-linux_x86_64.whl && \ - pip install /cache/torch-2.0.1-cp310-cp310-linux_x86_64.whl torchvision --index-url https://download.pytorch.org/whl/cu118 - - +WORKDIR / RUN --mount=type=cache,target=/root/.cache/pip \ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git && \ cd stable-diffusion-webui && \ - git reset --hard 5ef669de080814067961f28357256e8fe27544f4 && \ + git reset --hard 4afaaf8a020c1df457bcf7250cb1c7f609699fa7 && \ pip install -r requirements_versions.txt -RUN --mount=type=cache,target=/root/.cache/pip \ - --mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.21.dev544-cp310-cp310-manylinux2014_x86_64.whl \ - pip install /xformers-0.0.21.dev544-cp310-cp310-manylinux2014_x86_64.whl ENV ROOT=/stable-diffusion-webui - COPY --from=download /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt RUN --mount=type=cache,target=/root/.cache/pip \ - pip install pyngrok \ + pip install pyngrok xformers \ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ git+https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b -# Note: don't update the sha of previous versions because the install will take forever -# instead, update the repo state in a later step - -# TODO: either remove if fixed in A1111 (unlikely) or move to the top with other apt stuff -RUN apt-get -y install libgoogle-perftools-dev && apt-get clean -ENV LD_PRELOAD=libtcmalloc.so - -ARG SHA=5ef669de080814067961f28357256e8fe27544f4 -RUN --mount=type=cache,target=/root/.cache/pip \ - cd stable-diffusion-webui && \ - git fetch && \ - git reset --hard ${SHA} && \ - pip install -r requirements_versions.txt - COPY . /docker RUN \ - python3 /docker/info.py ${ROOT}/modules/ui.py && \ - mv ${ROOT}/style.css ${ROOT}/user.css && \ + # mv ${ROOT}/style.css ${ROOT}/user.css && \ # one of the ugliest hacks I ever wrote \ - sed -i 's/in_app_dir = .*/in_app_dir = True/g' /usr/local/lib/python3.10/site-packages/gradio/routes.py && \ + sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.10/site-packages/gradio/routes.py && \ git config --global --add safe.directory '*' WORKDIR ${ROOT} diff --git a/services/AUTOMATIC1111/entrypoint.sh b/services/AUTOMATIC1111/entrypoint.sh index 52f025f..35023af 100755 --- a/services/AUTOMATIC1111/entrypoint.sh +++ b/services/AUTOMATIC1111/entrypoint.sh @@ -5,6 +5,10 @@ set -Eeuo pipefail # TODO: move all mkdir -p ? mkdir -p /data/config/auto/scripts/ # mount scripts individually + +echo $ROOT +ls -lha $ROOT + find "${ROOT}/scripts/" -maxdepth 1 -type l -delete cp -vrfTs /data/config/auto/scripts/ "${ROOT}/scripts/" @@ -62,9 +66,9 @@ shopt -s nullglob # For install.py, please refer to https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions#installpy list=(./extensions/*/install.py) for installscript in "${list[@]}"; do - EXTNAME=`echo $installscript | cut -d '/' -f 3` + EXTNAME=$(echo $installscript | cut -d '/' -f 3) # Skip installing dependencies if extension is disabled in config - if `jq -e ".disabled_extensions|any(. == \"$EXTNAME\")" config.json`; then + if $(jq -e ".disabled_extensions|any(. == \"$EXTNAME\")" config.json); then echo "Skipping disabled extension ($EXTNAME)" continue fi diff --git a/services/AUTOMATIC1111/info.py b/services/AUTOMATIC1111/info.py deleted file mode 100644 index edfa7b0..0000000 --- a/services/AUTOMATIC1111/info.py +++ /dev/null @@ -1,14 +0,0 @@ -import sys -from pathlib import Path - -file = Path(sys.argv[1]) -file.write_text( - file.read_text()\ - .replace(' return demo', """ - with demo: - gr.Markdown( - 'Created by [AUTOMATIC1111 / stable-diffusion-webui-docker](https://github.com/AbdBarho/stable-diffusion-webui-docker/)' - ) - return demo -""", 1) -) From 90affeb72ab15a66537e171dcb24bee03f8291b4 Mon Sep 17 00:00:00 2001 From: sejoung kim Date: Mon, 1 Jan 2024 19:04:02 +0900 Subject: [PATCH 18/30] Bump Comfy (#603) https://github.com/comfyanonymous/ComfyUI/commit/d1f3637a5a944d0607b899babd8ff11d87100503 --------- Co-authored-by: AbdBarho --- docker-compose.yml | 2 +- services/comfy/Dockerfile | 30 ++++-------------------------- 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b5b57e8..c8e98de 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,7 +60,7 @@ services: <<: *base_service profiles: ["comfy"] build: ./services/comfy/ - image: sd-comfy:5 + image: sd-comfy:6 environment: - CLI_ARGS= diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index 6d1f6ce..f813c68 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -1,8 +1,4 @@ -FROM alpine:3.17 as xformers -RUN apk add --no-cache aria2 -RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/6.0.0/xformers-0.0.21.dev544-cp310-cp310-manylinux2014_x86_64-pytorch201.whl' - -FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime +FROM pytorch/pytorch:2.1.2-cuda12.1-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 @@ -13,32 +9,14 @@ 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 d1f3637a5a944d0607b899babd8ff11d87100503 && \ 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=7e941f9f247f9b013a33c2e7d117466108414e99 -RUN --mount=type=cache,target=/root/.cache/pip \ - git fetch && \ - git checkout ${BRANCH} && \ - git reset --hard ${SHA} && \ - pip install -r requirements.txt - -# add info COPY . /docker/ -RUN cp /docker/extra_model_paths.yaml ${ROOT} -RUN chmod u+x /docker/entrypoint.sh -RUN cp /docker/extra_model_paths.yaml ${ROOT} +RUN chmod u+x /docker/entrypoint.sh && cp /docker/extra_model_paths.yaml ${ROOT} -ENV NVIDIA_VISIBLE_DEVICES=all -ENV PYTHONPATH="${PYTHONPATH}:${PWD}" CLI_ARGS="" +ENV NVIDIA_VISIBLE_DEVICES=all PYTHONPATH="${PYTHONPATH}:${PWD}" CLI_ARGS="" EXPOSE 7860 ENTRYPOINT ["/docker/entrypoint.sh"] CMD python -u main.py --listen --port 7860 ${CLI_ARGS} From fbc5c359d03f539d4f6eaa90fd18d8590a2a4b61 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 1 Jan 2024 10:13:01 +0000 Subject: [PATCH 19/30] Resolve memory usage situation in Auto (#620) Fixes https://github.com/AbdBarho/stable-diffusion-webui-docker/issues/612 --------- Co-authored-by: AbdBarho --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index c8e98de..f9a475c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:68 + image: sd-auto:69 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 9e40d8c..c30ac1f 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -48,6 +48,10 @@ RUN --mount=type=cache,target=/root/.cache/pip \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ git+https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b +# there seems to be a memory leak (or maybe just memory not being freed fast eno8ugh) that is fixed by this version of malloc +# maybe move this up to the dependencies list. +RUN apt-get -y install libgoogle-perftools-dev && apt-get clean +ENV LD_PRELOAD=libtcmalloc.so COPY . /docker From f61363974802f22f6c0cfd869239b1a5b93254bb Mon Sep 17 00:00:00 2001 From: Adam Florizone <72236049+adamflorizone@users.noreply.github.com> Date: Mon, 1 Jan 2024 05:30:40 -0500 Subject: [PATCH 20/30] Update Auto v1.7.0 (#632) Update Auto v1.7.0 https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.7.0 --------- Co-authored-by: AbdBarho --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index f9a475c..4901b80 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:69 + image: sd-auto:70 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index c30ac1f..3a2f5a5 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -15,7 +15,7 @@ RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interr RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-models 45c443b316737a4ab6e40413d7794a7f5657c19f -FROM pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime +FROM pytorch/pytorch:2.1.2-cuda12.1-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 @@ -31,7 +31,7 @@ WORKDIR / RUN --mount=type=cache,target=/root/.cache/pip \ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git && \ cd stable-diffusion-webui && \ - git reset --hard 4afaaf8a020c1df457bcf7250cb1c7f609699fa7 && \ + git reset --hard cf2772fab0af5573da775e7437e6acdca424f26e && \ pip install -r requirements_versions.txt From 60c4832185dc492166c5e3f8492f00120d15e35a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20Sj=C3=B6lund?= Date: Mon, 1 Jan 2024 11:34:46 +0100 Subject: [PATCH 21/30] Update open_clip to v2.20.0 in Auto (#617) Fixes #615. Updates `open-clip-torch` to the one specified in auto's [requirements_versions.txt](https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/master/requirements_versions.txt#L18). --------- Co-authored-by: AbdBarho --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 4901b80..44dcc87 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:70 + image: sd-auto:71 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 3a2f5a5..efc712c 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -46,7 +46,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ pip install pyngrok xformers \ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ - git+https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b + git+https://github.com/mlfoundations/open_clip.git@v2.20.0 # there seems to be a memory leak (or maybe just memory not being freed fast eno8ugh) that is fixed by this version of malloc # maybe move this up to the dependencies list. From 245d1d443f4cc249ef7547f221b7209941a6a84d Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Sat, 3 Feb 2024 08:17:45 +0100 Subject: [PATCH 22/30] Update package index (#650) Closes #622 --- services/download/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/download/Dockerfile b/services/download/Dockerfile index 9c111b1..a95ad03 100644 --- a/services/download/Dockerfile +++ b/services/download/Dockerfile @@ -1,6 +1,6 @@ -FROM bash:alpine3.15 +FROM bash:alpine3.19 -RUN apk add parallel aria2 +RUN apk update && apk add parallel aria2 COPY . /docker RUN chmod +x /docker/download.sh ENTRYPOINT ["/docker/download.sh"] From 015c2ec829c28d08ed122ad02b3fda84d9608dca Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Sat, 3 Feb 2024 08:50:40 +0100 Subject: [PATCH 23/30] Pin xformers (for now) (#651) Closes #648 Closes #649 --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 44dcc87..a1cc6c2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:71 + image: sd-auto:72 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index efc712c..4c478b3 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -43,12 +43,12 @@ RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt RUN --mount=type=cache,target=/root/.cache/pip \ - pip install pyngrok xformers \ + pip install pyngrok xformers==0.0.23.post1 \ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ git+https://github.com/mlfoundations/open_clip.git@v2.20.0 -# there seems to be a memory leak (or maybe just memory not being freed fast eno8ugh) that is fixed by this version of malloc +# there seems to be a memory leak (or maybe just memory not being freed fast enough) that is fixed by this version of malloc # maybe move this up to the dependencies list. RUN apt-get -y install libgoogle-perftools-dev && apt-get clean ENV LD_PRELOAD=libtcmalloc.so From ac94eac2b5b59ef17861e26d924a647688f40386 Mon Sep 17 00:00:00 2001 From: SachiaLanlus Date: Mon, 20 May 2024 19:35:07 +0800 Subject: [PATCH 24/30] Update Auto v1.9.3 (#673) Closes issue #672 ### Update versions - auto: https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.9.3 --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index a1cc6c2..016d881 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,7 +29,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:72 + image: sd-auto:75 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 4c478b3..f4570d7 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -2,13 +2,11 @@ FROM alpine/git:2.36.2 as download COPY clone.sh /clone.sh +RUN . /clone.sh stable-diffusion-webui-assets https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets.git 6f7db241d2f8ba7457bac5ca9753331f0c266917 RUN . /clone.sh stable-diffusion-stability-ai https://github.com/Stability-AI/stablediffusion.git cf1d67a6fd5ea1aa600c4df58e5b47da45f6bdbf \ && rm -rf assets data/**/*.png data/**/*.jpg data/**/*.gif -RUN . /clone.sh CodeFormer https://github.com/sczhou/CodeFormer.git c5b4593074ba6214284d6acd5f1719b6c5d739af \ - && rm -rf assets inputs - RUN . /clone.sh BLIP https://github.com/salesforce/BLIP.git 48211a1594f1321b00f14c9f7a5b4813144b2fb9 RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git ab527a9a6d347f364e3d185ba6d714e22d80cb3c RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2cf03aaf6e704197fd0dae7c7f96aa59cf1b11c9 @@ -31,7 +29,7 @@ WORKDIR / RUN --mount=type=cache,target=/root/.cache/pip \ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git && \ cd stable-diffusion-webui && \ - git reset --hard cf2772fab0af5573da775e7437e6acdca424f26e && \ + git reset --hard v1.9.3 && \ pip install -r requirements_versions.txt @@ -39,8 +37,6 @@ ENV ROOT=/stable-diffusion-webui COPY --from=download /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate -RUN --mount=type=cache,target=/root/.cache/pip \ - pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt RUN --mount=type=cache,target=/root/.cache/pip \ pip install pyngrok xformers==0.0.23.post1 \ From 7051ce0a44048ab5b66f2194384a9892222db344 Mon Sep 17 00:00:00 2001 From: "Derek Palmer (Creative)" Date: Mon, 20 May 2024 07:41:36 -0400 Subject: [PATCH 25/30] Updated docker-compose to remove obsolete version syntax (#692) Removes `version:` syntax in `docker-compose` file. If left in, it throws an obsolete warning. I removed it from the docker-compose file to reduce unnecessary warnings and to keep the code up to current standards. See [Version top-level element (obsolete)](https://docs.docker.com/compose/compose-file/04-version-and-name/#version-top-level-element-obsolete) for reference. --- docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 016d881..1d3602a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.9' - x-base_service: &base_service ports: - "${WEBUI_PORT:-7860}:7860" From 887e49c495ee9f8cc8f23340d6de2ac9911fed1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9E=E6=A5=BD=E5=9D=82=C2=B7=E5=96=B5?= Date: Mon, 20 May 2024 19:41:54 +0800 Subject: [PATCH 26/30] Add missing assets to auto1111 (#684) Closes #683 Co-authored-by: AbdBarho --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 1d3602a..9787226 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,7 +27,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:75 + image: sd-auto:76 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index f4570d7..0b43433 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -11,6 +11,7 @@ RUN . /clone.sh BLIP https://github.com/salesforce/BLIP.git 48211a1594f1321b00f1 RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git ab527a9a6d347f364e3d185ba6d714e22d80cb3c RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2cf03aaf6e704197fd0dae7c7f96aa59cf1b11c9 RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-models 45c443b316737a4ab6e40413d7794a7f5657c19f +RUN . /clone.sh stable-diffusion-webui-assets https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets 6f7db241d2f8ba7457bac5ca9753331f0c266917 FROM pytorch/pytorch:2.1.2-cuda12.1-cudnn8-runtime From 35a18b3d468fdc277d1ee3f41a2c10823334db64 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Mon, 20 May 2024 14:44:41 +0200 Subject: [PATCH 27/30] Update Comfy (#693) https://github.com/comfyanonymous/ComfyUI/commit/276f8fce9f5a80b500947fb5745a4dde9e84622d Closes #676 Closes #674 Refs #686 --- docker-compose.yml | 2 +- services/comfy/Dockerfile | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 9787226..efbbc8e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -58,7 +58,7 @@ services: <<: *base_service profiles: ["comfy"] build: ./services/comfy/ - image: sd-comfy:6 + image: sd-comfy:7 environment: - CLI_ARGS= diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index f813c68..2de504d 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -1,4 +1,4 @@ -FROM pytorch/pytorch:2.1.2-cuda12.1-cudnn8-runtime +FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 @@ -9,7 +9,7 @@ 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 && \ + git reset --hard 276f8fce9f5a80b500947fb5745a4dde9e84622d && \ pip install -r requirements.txt WORKDIR ${ROOT} From f1bf3b09438b0d2aad1bc30359107fc1e4365a09 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Tue, 28 May 2024 19:39:33 +0200 Subject: [PATCH 28/30] Bump pytorch containers (#697) Closes #696 Closes #694 --- docker-compose.yml | 4 ++-- services/AUTOMATIC1111/Dockerfile | 4 ++-- services/invoke/Dockerfile | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index efbbc8e..b849975 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,7 +27,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:76 + image: sd-auto:77 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api @@ -42,7 +42,7 @@ services: <<: *base_service profiles: ["invoke"] build: ./services/invoke/ - image: sd-invoke:30 + image: sd-invoke:31 environment: - PRELOAD=true - CLI_ARGS=--xformers diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 0b43433..6455edd 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -14,7 +14,7 @@ RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-mod RUN . /clone.sh stable-diffusion-webui-assets https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets 6f7db241d2f8ba7457bac5ca9753331f0c266917 -FROM pytorch/pytorch:2.1.2-cuda12.1-cudnn8-runtime +FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 @@ -40,7 +40,7 @@ COPY --from=download /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate RUN --mount=type=cache,target=/root/.cache/pip \ - pip install pyngrok xformers==0.0.23.post1 \ + pip install pyngrok xformers==0.0.26.post1 \ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ git+https://github.com/mlfoundations/open_clip.git@v2.20.0 diff --git a/services/invoke/Dockerfile b/services/invoke/Dockerfile index 209c368..21c13ec 100644 --- a/services/invoke/Dockerfile +++ b/services/invoke/Dockerfile @@ -3,7 +3,7 @@ RUN apk add --no-cache aria2 RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/6.0.0/xformers-0.0.21.dev544-cp310-cp310-manylinux2014_x86_64-pytorch201.whl' -FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime +FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_EXISTS_ACTION=w PIP_PREFER_BINARY=1 From b1a26b80410962500ed7a2a8dd7992dd106cae78 Mon Sep 17 00:00:00 2001 From: mohamednabiel717 <150693133+mohamednabiel717@users.noreply.github.com> Date: Fri, 7 Jun 2024 19:10:28 +0200 Subject: [PATCH 29/30] Update Auto to 1.9.4 (#700) https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/feee37d75f1b168768014e4634dcb156ee649c05 --------- Co-authored-by: AbdBarho --- docker-compose.yml | 2 +- services/AUTOMATIC1111/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b849975..d367388 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,7 +27,7 @@ services: <<: *base_service profiles: ["auto"] build: ./services/AUTOMATIC1111 - image: sd-auto:77 + image: sd-auto:78 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 6455edd..d595784 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -30,7 +30,7 @@ WORKDIR / RUN --mount=type=cache,target=/root/.cache/pip \ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git && \ cd stable-diffusion-webui && \ - git reset --hard v1.9.3 && \ + git reset --hard v1.9.4 && \ pip install -r requirements_versions.txt From 802d0bcd689e3a6fcdb56465c216caac01416816 Mon Sep 17 00:00:00 2001 From: AbdBarho Date: Sun, 23 Jun 2024 11:16:21 +0200 Subject: [PATCH 30/30] Remove invoke (#705) The invoke team already maintains a docker setup for their service, this copy here was maybe relevant 2 years ago when all of this started, but I don't think it makes sense anymore. Refer to invoke's docs to install using docker https://invoke-ai.github.io/InvokeAI/installation/040_INSTALL_DOCKER/ --- .github/workflows/docker.yml | 1 - README.md | 8 ------ docker-compose.yml | 16 ----------- services/invoke/Dockerfile | 53 ----------------------------------- services/invoke/entrypoint.sh | 45 ----------------------------- 5 files changed, 123 deletions(-) delete mode 100644 services/invoke/Dockerfile delete mode 100755 services/invoke/entrypoint.sh diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 8bb5799..db5d840 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -14,7 +14,6 @@ jobs: matrix: profile: - auto - - invoke - comfy - download runs-on: ubuntu-latest diff --git a/README.md b/README.md index 95e10c3..071a459 100644 --- a/README.md +++ b/README.md @@ -18,14 +18,6 @@ This repository provides multiple UIs for you to play around with stable diffusi | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | | ![](https://user-images.githubusercontent.com/24505302/189541954-46afd772-d0c8-4005-874c-e2eca40c02f2.jpg) | ![](https://user-images.githubusercontent.com/24505302/189541956-5b528de7-1b5d-479f-a1db-d3f5a53afc59.jpg) | ![](https://user-images.githubusercontent.com/24505302/189541957-cf78b352-a071-486d-8889-f26952779a61.jpg) | -### [InvokeAI](https://github.com/invoke-ai/InvokeAI) - -[Full feature list here](https://github.com/invoke-ai/InvokeAI#features), Screenshots: - -| Text to image | Image to image | Extras | -| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| ![](https://user-images.githubusercontent.com/24505302/195158552-39f58cb6-cfcc-4141-9995-a626e3760752.jpg) | ![](https://user-images.githubusercontent.com/24505302/195158553-152a0ab8-c0fd-4087-b121-4823bcd8d6b5.jpg) | ![](https://user-images.githubusercontent.com/24505302/195158548-e118206e-c519-4915-85d6-4c248eb10fc0.jpg) | - ### [ComfyUI](https://github.com/comfyanonymous/ComfyUI) [Full feature list here](https://github.com/comfyanonymous/ComfyUI#features), Screenshot: diff --git a/docker-compose.yml b/docker-compose.yml index d367388..970b612 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -38,22 +38,6 @@ services: environment: - CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api - invoke: &invoke - <<: *base_service - profiles: ["invoke"] - build: ./services/invoke/ - image: sd-invoke:31 - environment: - - PRELOAD=true - - CLI_ARGS=--xformers - - # invoke-cpu: - # <<: *invoke - # profiles: ["invoke-cpu"] - # environment: - # - PRELOAD=true - # - CLI_ARGS=--always_use_cpu - comfy: &comfy <<: *base_service profiles: ["comfy"] diff --git a/services/invoke/Dockerfile b/services/invoke/Dockerfile deleted file mode 100644 index 21c13ec..0000000 --- a/services/invoke/Dockerfile +++ /dev/null @@ -1,53 +0,0 @@ -FROM alpine:3.17 as xformers -RUN apk add --no-cache aria2 -RUN aria2c -x 5 --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/6.0.0/xformers-0.0.21.dev544-cp310-cp310-manylinux2014_x86_64-pytorch201.whl' - - -FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime - -ENV DEBIAN_FRONTEND=noninteractive PIP_EXISTS_ACTION=w PIP_PREFER_BINARY=1 - -# patch match: -# https://github.com/invoke-ai/InvokeAI/blob/main/docs/installation/INSTALL_PATCHMATCH.md -RUN --mount=type=cache,target=/var/cache/apt \ - apt-get update && \ - apt-get install make g++ git libopencv-dev -y && \ - apt-get clean && \ - cd /usr/lib/x86_64-linux-gnu/pkgconfig/ && \ - ln -sf opencv4.pc opencv.pc - - -ENV ROOT=/InvokeAI -RUN git clone https://github.com/invoke-ai/InvokeAI.git ${ROOT} -WORKDIR ${ROOT} - -RUN --mount=type=cache,target=/root/.cache/pip \ - git reset --hard f3b2e02921927d9317255b1c3811f47bd40a2bf9 && \ - pip install -e . - - -ARG BRANCH=main SHA=f3b2e02921927d9317255b1c3811f47bd40a2bf9 -RUN --mount=type=cache,target=/root/.cache/pip \ - git fetch && \ - git reset --hard && \ - git checkout ${BRANCH} && \ - git reset --hard ${SHA} && \ - pip install -U -e . - -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 -U opencv-python-headless triton /xformers-0.0.21-cp310-cp310-linux_x86_64.whl && \ - python3 -c "from patchmatch import patch_match" - - -COPY . /docker/ - -ENV NVIDIA_VISIBLE_DEVICES=all -ENV PYTHONUNBUFFERED=1 PRELOAD=false HF_HOME=/root/.cache/huggingface CONFIG_DIR=/data/config/invoke CLI_ARGS="" -EXPOSE 7860 - -ENTRYPOINT ["/docker/entrypoint.sh"] -CMD invokeai --web --host 0.0.0.0 --port 7860 --root_dir ${ROOT} --config ${CONFIG_DIR}/models.yaml \ - --outdir /output/invoke --embedding_directory /data/embeddings/ --lora_directory /data/models/Lora \ - --no-nsfw_checker --no-safety_checker ${CLI_ARGS} - diff --git a/services/invoke/entrypoint.sh b/services/invoke/entrypoint.sh deleted file mode 100755 index 348bb2b..0000000 --- a/services/invoke/entrypoint.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -set -Eeuo pipefail - -declare -A MOUNTS - -mkdir -p ${CONFIG_DIR} ${ROOT}/configs/stable-diffusion/ - -# cache -MOUNTS["/root/.cache"]=/data/.cache/ - -# this is really just a hack to avoid migrations -rm -rf ${HF_HOME}/diffusers - -# ui specific -MOUNTS["${ROOT}/models/codeformer"]=/data/models/Codeformer/ -MOUNTS["${ROOT}/models/gfpgan/GFPGANv1.4.pth"]=/data/models/GFPGAN/GFPGANv1.4.pth -MOUNTS["${ROOT}/models/gfpgan/weights"]=/data/models/GFPGAN/ -MOUNTS["${ROOT}/models/realesrgan"]=/data/models/RealESRGAN/ - -MOUNTS["${ROOT}/models/ldm"]=/data/.cache/invoke/ldm/ - -# hacks - -for to_path in "${!MOUNTS[@]}"; do - set -Eeuo pipefail - from_path="${MOUNTS[${to_path}]}" - rm -rf "${to_path}" - mkdir -p "$(dirname "${to_path}")" - # ends with slash, make it! - if [[ "$from_path" == */ ]]; then - mkdir -vp "$from_path" - fi - - ln -sT "${from_path}" "${to_path}" - echo Mounted $(basename "${from_path}") -done - -if "${PRELOAD}" == "true"; then - set -Eeuo pipefail - invokeai-configure --root ${ROOT} --yes - cp ${ROOT}/configs/models.yaml ${CONFIG_DIR}/models.yaml -fi - -exec "$@"