Просмотр исходного кода

SD 1.5 (#164)

### Update versions

- auto:
https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/f49c08ea566385db339c6628f65c3a121033f67c
- hlky:
https://github.com/sd-webui/stable-diffusion-webui/commit/8d1e42b9c50c747d056b0a98f3c2eb7652fb73a7
- lstein:
https://github.com/invoke-ai/InvokeAI/commit/554445a985d970200095bbcb109273a49c462682
AbdBarho 4 лет назад
Родитель
Сommit
3c544dd7f4

+ 6 - 0
LICENSE

@@ -92,5 +92,11 @@ use).
 
 
 By using this software, you also agree to the following licenses:
 By using this software, you also agree to the following licenses:
 https://github.com/CompVis/stable-diffusion/blob/main/LICENSE
 https://github.com/CompVis/stable-diffusion/blob/main/LICENSE
+https://github.com/sd-webui/stable-diffusion-webui/blob/master/LICENSE
+https://github.com/invoke-ai/InvokeAI/blob/main/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/TencentARC/GFPGAN/blob/master/LICENSE
 https://github.com/xinntao/Real-ESRGAN/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

+ 3 - 3
README.md

@@ -23,9 +23,9 @@ 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) |
 | ![](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) |
 
 
-### hlky
+### hlky (sd-webui)
 
 
-[hlky's fork](https://github.com/hlky/stable-diffusion-webui) is one of the most popular UIs, with many features:
+[hlky's fork](https://github.com/sd-webui/stable-diffusion-webui) is one of the most popular UIs, with many features:
 
 
 - Text to image, with many samplers
 - Text to image, with many samplers
 - Image to image, with masking, cropping, in-painting, variations.
 - Image to image, with masking, cropping, in-painting, variations.
@@ -42,7 +42,7 @@ Screenshots:
 
 
 
 
 
 
-### lstein
+### lstein (InvokeAI)
 
 
 [lstein's fork](https://github.com/invoke-ai/InvokeAI) is one of the earliest with a wonderful WebUI.
 [lstein's fork](https://github.com/invoke-ai/InvokeAI) is one of the earliest with a wonderful WebUI.
 - Text to image, with many samplers
 - Text to image, with many samplers

+ 3 - 0
docker-compose.yml

@@ -27,6 +27,7 @@ services:
     <<: *base_service
     <<: *base_service
     profiles: ["hlky"]
     profiles: ["hlky"]
     build: ./services/hlky/
     build: ./services/hlky/
+    image: sd-hlky:1
     environment:
     environment:
       - CLI_ARGS=--optimized-turbo
       - CLI_ARGS=--optimized-turbo
       - USE_STREAMLIT=0
       - USE_STREAMLIT=0
@@ -35,6 +36,7 @@ services:
     <<: *base_service
     <<: *base_service
     profiles: ["auto"]
     profiles: ["auto"]
     build: ./services/AUTOMATIC1111
     build: ./services/AUTOMATIC1111
+    image: sd-auto:1
     environment:
     environment:
       - CLI_ARGS=--allow-code --medvram --xformers
       - CLI_ARGS=--allow-code --medvram --xformers
 
 
@@ -49,6 +51,7 @@ services:
     <<: *base_service
     <<: *base_service
     profiles: ["lstein"]
     profiles: ["lstein"]
     build: ./services/lstein/
     build: ./services/lstein/
+    image: sd-lstein:1
     environment:
     environment:
       - PRELOAD=true
       - PRELOAD=true
       - CLI_ARGS=
       - CLI_ARGS=

+ 8 - 8
services/AUTOMATIC1111/Dockerfile

@@ -20,10 +20,10 @@ EOF
 
 
 RUN git clone https://github.com/crowsonkb/k-diffusion.git repositories/k-diffusion && cd repositories/k-diffusion && git reset --hard f4e99857772fc3a126ba886aadf795a332774878
 RUN git clone https://github.com/crowsonkb/k-diffusion.git repositories/k-diffusion && cd repositories/k-diffusion && git reset --hard f4e99857772fc3a126ba886aadf795a332774878
 
 
-FROM python:3.10-slim as xformers
-SHELL ["/bin/bash", "-ceuxo", "pipefail"]
-RUN pip install gdown
-RUN gdown https://drive.google.com/uc?id=1SqwicrLx1TrG_sbbEoIF_3TUHd4EYSmw -O /wheel.whl
+
+FROM alpine:3 as xformers
+RUN apk add aria2
+RUN aria2c --dir / --out wheel.whl 'https://github.com/AbdBarho/stable-diffusion-webui-docker/releases/download/2.1.0/xformers-0.0.14.dev0-cp310-cp310-linux_x86_64.whl'
 
 
 FROM python:3.10-slim
 FROM python:3.10-slim
 
 
@@ -57,15 +57,15 @@ RUN apt-get install jq moreutils -y
 # Note: don't update the sha of previous versions because the install will take forever
 # Note: don't update the sha of previous versions because the install will take forever
 # instead, update the repo state in a later step
 # instead, update the repo state in a later step
 
 
-ARG SHA=36a0ba357ab0742c3c4a28437b68fb29a235afbe
+ARG SHA=f49c08ea566385db339c6628f65c3a121033f67c
 RUN <<EOF
 RUN <<EOF
 cd stable-diffusion-webui
 cd stable-diffusion-webui
 git pull --rebase
 git pull --rebase
 git reset --hard ${SHA}
 git reset --hard ${SHA}
-pip install --prefer-binary --no-cache-dir -r requirements_versions.txt
+pip install -r requirements_versions.txt
 EOF
 EOF
 
 
-RUN pip install --prefer-binary --no-cache-dir opencv-python-headless \
+RUN pip install opencv-python-headless \
   git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \
   git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \
   git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \
   git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \
   pyngrok
   pyngrok
@@ -84,4 +84,4 @@ WORKDIR ${WORKDIR}
 EXPOSE 7860
 EXPOSE 7860
 # run, -u to not buffer stdout / stderr
 # run, -u to not buffer stdout / stderr
 CMD /docker/mount.sh && \
 CMD /docker/mount.sh && \
-  python3 -u ../../webui.py --listen --port 7860 --ckpt-dir ${ROOT}/models/Stable-diffusion ${CLI_ARGS}
+  python3 -u ../../webui.py --listen --port 7860 --ckpt-dir ${ROOT}/models/Stable-diffusion --theme dark ${CLI_ARGS}

+ 15 - 10
services/download/download.sh

@@ -4,13 +4,6 @@ set -Eeuo pipefail
 
 
 mkdir -p /data/.cache /data/StableDiffusion /data/Codeformer /data/GFPGAN /data/ESRGAN /data/BSRGAN /data/RealESRGAN /data/SwinIR /data/LDSR /data/ScuNET /data/embeddings
 mkdir -p /data/.cache /data/StableDiffusion /data/Codeformer /data/GFPGAN /data/ESRGAN /data/BSRGAN /data/RealESRGAN /data/SwinIR /data/LDSR /data/ScuNET /data/embeddings
 
 
-cat <<EOF
-By using this software, you agree to the following licenses:
-https://github.com/CompVis/stable-diffusion/blob/main/LICENSE
-https://github.com/TencentARC/GFPGAN/blob/master/LICENSE
-https://github.com/xinntao/Real-ESRGAN/blob/master/LICENSE
-EOF
-
 echo "Downloading, this might take a while..."
 echo "Downloading, this might take a while..."
 
 
 aria2c --input-file /docker/links.txt --dir /data --continue
 aria2c --input-file /docker/links.txt --dir /data --continue
@@ -19,6 +12,18 @@ echo "Checking SHAs..."
 
 
 parallel --will-cite -a /docker/checksums.sha256 "echo -n {} | sha256sum -c"
 parallel --will-cite -a /docker/checksums.sha256 "echo -n {} | sha256sum -c"
 
 
-# fix potential permissions
-# TODO: need something better than this:
-# chmod -R 777 /data /output
+# aria2c already does hash check
+# cc6cb27103417325ff94f52b7a5d2dde45a7515b25c255d8e396c90014281516  /data/StableDiffusion/v1-5-pruned-emaonly.ckpt
+cat <<EOF
+By using this software, you agree to the following licenses:
+https://github.com/CompVis/stable-diffusion/blob/main/LICENSE
+https://github.com/AbdBarho/stable-diffusion-webui-docker/blob/master/LICENSE
+https://github.com/sd-webui/stable-diffusion-webui/blob/master/LICENSE
+https://github.com/invoke-ai/InvokeAI/blob/main/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
+EOF

+ 8 - 0
services/download/links.txt

@@ -1,3 +1,11 @@
+magnet:?xt=urn:btih:2daef5b5f63a16a9af9169a529b1a773fc452637&dn=v1-5-pruned-emaonly.ckpt&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce&tr=udp%3a%2f%2f9.rarbg.com%3a2810%2fannounce&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a6969%2fannounce&tr=udp%3a%2f%2fopentracker.i2p.rocks%3a6969%2fannounce&tr=https%3a%2f%2fopentracker.i2p.rocks%3a443%2fannounce&tr=http%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.torrent.eu.org%3a451%2fannounce&tr=udp%3a%2f%2fopen.stealth.si%3a80%2fannounce&tr=udp%3a%2f%2fvibe.sleepyinternetfun.xyz%3a1738%2fannounce&tr=udp%3a%2f%2ftracker2.dler.org%3a80%2fannounce&tr=udp%3a%2f%2ftracker1.bt.moack.co.kr%3a80%2fannounce&tr=udp%3a%2f%2ftracker.zemoj.com%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.tiny-vps.com%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.theoks.net%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.publictracker.xyz%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.monitorit4.me%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.moeking.me%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.lelux.fi%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.dler.org%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.army%3a6969%2fannounce
+  select-file=1
+  index-out=1=StableDiffusion/v1-5-pruned-emaonly.ckpt
+  follow-torrent=mem
+  follow-metalink=mem
+  seed-time=0
+  # this is the only way aria2c won't fail if the file already exists
+  check-integrity=true
 https://drive.yerf.org/wl/?id=EBfTrmcCCUAGaQBXVIj5lJmEhjoP1tgl&mode=grid&download=1
 https://drive.yerf.org/wl/?id=EBfTrmcCCUAGaQBXVIj5lJmEhjoP1tgl&mode=grid&download=1
   out=StableDiffusion/model.ckpt
   out=StableDiffusion/model.ckpt
 https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth
 https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth

+ 1 - 1
services/hlky/Dockerfile

@@ -22,7 +22,7 @@ conda clean -a -y
 EOF
 EOF
 
 
 
 
-ARG BRANCH=dev SHA=bd57d22f2e0ec7eed084bdf2a4c0dcc0ed745daf
+ARG BRANCH=dev SHA=8d1e42b9c50c747d056b0a98f3c2eb7652fb73a7
 RUN <<EOF
 RUN <<EOF
 cd stable-diffusion
 cd stable-diffusion
 git fetch
 git fetch

+ 1 - 1
services/hlky/run.sh

@@ -6,5 +6,5 @@ echo "USE_STREAMLIT = ${USE_STREAMLIT}"
 if [ "${USE_STREAMLIT}" == "1" ]; then
 if [ "${USE_STREAMLIT}" == "1" ]; then
   python -u -m streamlit run scripts/webui_streamlit.py
   python -u -m streamlit run scripts/webui_streamlit.py
 else
 else
-  python3 -u scripts/webui.py --outdir /output --ckpt /data/StableDiffusion/model.ckpt ${CLI_ARGS}
+  python3 -u scripts/webui.py --outdir /output --ckpt /data/StableDiffusion/v1-5-pruned-emaonly.ckpt ${CLI_ARGS}
 fi
 fi

+ 7 - 6
services/hlky/userconfig_streamlit.yaml

@@ -1,8 +1,9 @@
 general:
 general:
-  outdir: /outputs
-  default_model: "Stable Diffusion v1.4"
-  default_model_path: /data/StableDiffusion/model.ckpt
-  outdir_txt2img: /outputs/txt2img-samples
-  outdir_img2img: /outputs/img2img-samples
-  optimized: True
+  version: 1.20.0
+  outdir: /output
+  default_model: "Stable Diffusion v1.5"
+  default_model_path: /data/StableDiffusion/v1-5-pruned-emaonly.ckpt
+  outdir_txt2img: /output/txt2img-samples
+  outdir_img2img: /output/img2img-samples
+  outdir_img2txt: /output/img2txt
   optimized_turbo: True
   optimized_turbo: True

+ 1 - 1
services/lstein/Dockerfile

@@ -24,7 +24,7 @@ conda clean -a -y
 EOF
 EOF
 
 
 
 
-ARG BRANCH=development SHA=fe2a2cfc8b6156805c420c026c5ef8bbb256899e
+ARG BRANCH=development SHA=554445a985d970200095bbcb109273a49c462682
 RUN <<EOF
 RUN <<EOF
 cd stable-diffusion
 cd stable-diffusion
 git fetch
 git fetch