Skip to content

Commit cdde93b

Browse files
authored
1 parent 660c098 commit cdde93b

File tree

11 files changed

+93
-113
lines changed

11 files changed

+93
-113
lines changed

.devscripts/migratev7tov8.sh

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/bin/bash
2+
3+
set -Eeuo pipefail
4+
5+
echo "Renaming..."
6+
7+
# compatible with default auto-names
8+
mv -v ./data/StableDiffusion ./data/Stable-diffusion
9+
mv -v ./data/Deepdanbooru ./data/torch_deepdanbooru
10+
11+
# casing problem on windows
12+
mv -v ./data/Hypernetworks ./data/hypernetworks1
13+
mv -v ./data/hypernetworks1 ./data/hypernetworks
14+
15+
mv -v ./data/MiDaS ./data/midas1
16+
mv -v ./data/midas1 ./data/midas
17+
18+
19+
echo "Moving folders..."
20+
21+
mkdir -pv ./final
22+
23+
mv -v ./data/config ./final/config
24+
mv -v ./data/.cache ./final/.cache
25+
mv -v ./data/embeddings ./final/embeddings
26+
mv -v ./data ./final/models
27+
28+
mv -v ./final ./data

data/.gitignore

+1-25
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,4 @@
1-
# for all of the stuff downloaded by transformers, pytorch, and others
21
/.cache
3-
# for UIs
42
/config
5-
# for all stable diffusion models (main, waifu diffusion, etc..)
6-
/StableDiffusion
7-
# others
8-
/Codeformer
9-
/GFPGAN
10-
/ESRGAN
11-
/BSRGAN
12-
/RealESRGAN
13-
/SwinIR
14-
/MiDaS
15-
/BLIP
16-
/ScuNET
17-
/LDSR
18-
/Deepdanbooru
19-
/Hypernetworks
20-
/VAE
213
/embeddings
22-
/Lora
23-
/ControlNet
24-
/openpose
25-
/ModelScope
26-
/LyCORIS
27-
/GLIGEN
28-
/CLIPEncoder
4+
/models

docker-compose.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ x-base_service: &base_service
66
volumes:
77
- &v1 ./data:/data
88
- &v2 ./output:/output
9-
stop_signal: SIGINT
9+
stop_signal: SIGKILL
10+
tty: true
1011
deploy:
1112
resources:
1213
reservations:
@@ -28,7 +29,7 @@ services:
2829
<<: *base_service
2930
profiles: ["auto"]
3031
build: ./services/AUTOMATIC1111
31-
image: sd-auto:58
32+
image: sd-auto:59
3233
environment:
3334
- CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api
3435

@@ -43,7 +44,7 @@ services:
4344
<<: *base_service
4445
profiles: ["invoke"]
4546
build: ./services/invoke/
46-
image: sd-invoke:29
47+
image: sd-invoke:30
4748
environment:
4849
- PRELOAD=true
4950
- CLI_ARGS=--xformers
@@ -59,8 +60,7 @@ services:
5960
<<: *base_service
6061
profiles: ["comfy"]
6162
build: ./services/comfy/
62-
image: sd-comfy:2
63-
tty: true
63+
image: sd-comfy:3
6464
environment:
6565
- CLI_ARGS=
6666

services/AUTOMATIC1111/entrypoint.sh

+18-21
Original file line numberDiff line numberDiff line change
@@ -19,30 +19,14 @@ if [ ! -f /data/config/auto/styles.csv ]; then
1919
touch /data/config/auto/styles.csv
2020
fi
2121

22+
# copy models from original models folder
23+
rsync -a --info=NAME ${ROOT}/models/VAE-approx/ /data/models/VAE-approx/
24+
rsync -a --info=NAME ${ROOT}/models/karlo/ /data/models/karlo/
25+
2226
declare -A MOUNTS
2327

2428
MOUNTS["/root/.cache"]="/data/.cache"
25-
26-
# main
27-
MOUNTS["${ROOT}/models/Stable-diffusion"]="/data/StableDiffusion"
28-
MOUNTS["${ROOT}/models/VAE"]="/data/VAE"
29-
MOUNTS["${ROOT}/models/Codeformer"]="/data/Codeformer"
30-
MOUNTS["${ROOT}/models/GFPGAN"]="/data/GFPGAN"
31-
MOUNTS["${ROOT}/models/ESRGAN"]="/data/ESRGAN"
32-
MOUNTS["${ROOT}/models/BSRGAN"]="/data/BSRGAN"
33-
MOUNTS["${ROOT}/models/RealESRGAN"]="/data/RealESRGAN"
34-
MOUNTS["${ROOT}/models/SwinIR"]="/data/SwinIR"
35-
MOUNTS["${ROOT}/models/ScuNET"]="/data/ScuNET"
36-
MOUNTS["${ROOT}/models/LDSR"]="/data/LDSR"
37-
MOUNTS["${ROOT}/models/hypernetworks"]="/data/Hypernetworks"
38-
MOUNTS["${ROOT}/models/torch_deepdanbooru"]="/data/Deepdanbooru"
39-
MOUNTS["${ROOT}/models/BLIP"]="/data/BLIP"
40-
MOUNTS["${ROOT}/models/midas"]="/data/MiDaS"
41-
MOUNTS["${ROOT}/models/Lora"]="/data/Lora"
42-
MOUNTS["${ROOT}/models/LyCORIS"]="/data/LyCORIS"
43-
MOUNTS["${ROOT}/models/ControlNet"]="/data/ControlNet"
44-
MOUNTS["${ROOT}/models/openpose"]="/data/openpose"
45-
MOUNTS["${ROOT}/models/ModelScope"]="/data/ModelScope"
29+
MOUNTS["${ROOT}/models"]="/data/models"
4630

4731
MOUNTS["${ROOT}/embeddings"]="/data/embeddings"
4832
MOUNTS["${ROOT}/config.json"]="/data/config/auto/config.json"
@@ -66,8 +50,21 @@ for to_path in "${!MOUNTS[@]}"; do
6650
echo Mounted $(basename "${from_path}")
6751
done
6852

53+
echo "Installing extension dependencies (if any)"
54+
55+
# because we build our container as root:
56+
chown -R root ~/.cache/
57+
chmod 766 ~/.cache/
58+
59+
shopt -s nullglob
60+
list=(./extensions/*/requirements.txt)
61+
for req in "${list[@]}"; do
62+
pip install -r "$req"
63+
done
64+
6965
if [ -f "/data/config/auto/startup.sh" ]; then
7066
pushd ${ROOT}
67+
echo "Running startup script"
7168
. /data/config/auto/startup.sh
7269
popd
7370
fi

services/comfy/Dockerfile

+5-8
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
FROM alpine:3.17 as xformers
22
RUN apk add --no-cache aria2
3-
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'
3+
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'
44

5-
6-
FROM python:3.10.9-slim
5+
FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime
76

87
ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1
98

10-
RUN --mount=type=cache,target=/root/.cache/pip pip install torch==1.13.1 torchvision --extra-index-url https://download.pytorch.org/whl/cu117
11-
129
RUN apt-get update && apt-get install -y git && apt-get clean
1310

1411
ENV ROOT=/stable-diffusion
@@ -21,13 +18,13 @@ RUN --mount=type=cache,target=/root/.cache/pip \
2118

2219

2320
RUN --mount=type=cache,target=/root/.cache/pip \
24-
--mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.17-cp310-cp310-linux_x86_64.whl \
25-
pip install triton /xformers-0.0.17-cp310-cp310-linux_x86_64.whl
21+
--mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.21-cp310-cp310-linux_x86_64.whl \
22+
pip install /xformers-0.0.21-cp310-cp310-linux_x86_64.whl
2623

2724

2825
WORKDIR ${ROOT}
2926

30-
ARG BRANCH=master SHA=884ea653c8d6fe19b3724f45a04a0d74cd881f2f
27+
ARG BRANCH=master SHA=8607c2d42d10b0108de02528e813cc703e58813f
3128
RUN --mount=type=cache,target=/root/.cache/pip \
3229
git fetch && \
3330
git checkout ${BRANCH} && \

services/comfy/extra_model_paths.yaml

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
a111:
22
base_path: /data
33

4-
checkpoints: StableDiffusion
5-
configs: StableDiffusion
6-
vae: VAE
7-
loras: Lora
4+
checkpoints: models/Stable-diffusion
5+
configs: models/Stable-diffusion
6+
vae: models/VAE
7+
loras: models/Lora
88
upscale_models: |
9-
RealESRGAN
10-
ESRGAN
11-
SwinIR
12-
GFPGAN
9+
models/RealESRGAN
10+
models/ESRGAN
11+
models/SwinIR
12+
models/GFPGAN
13+
hypernetworks: models/hypernetworks
14+
controlnet: models/ControlNet
15+
gligen: models/GLIGEN
16+
clip: models/CLIPEncoder
1317
embeddings: embeddings
14-
hypernetworks: Hypernetworks
15-
controlnet: ControlNet
16-
gligen: GLIGEN
17-
clip: CLIPEncoder
1818

1919
custom_nodes: config/comfy/custom_nodes
2020

services/download/checksums.sha256

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
cc6cb27103417325ff94f52b7a5d2dde45a7515b25c255d8e396c90014281516 /data/StableDiffusion/v1-5-pruned-emaonly.ckpt
2-
c6bbc15e3224e6973459ba78de4998b80b50112b0ae5b5c67113d56b4e366b19 /data/StableDiffusion/sd-v1-5-inpainting.ckpt
3-
c6a580b13a5bc05a5e16e4dbb80608ff2ec251a162311590c1f34c013d7f3dab /data/VAE/vae-ft-mse-840000-ema-pruned.ckpt
4-
e2cd4703ab14f4d01fd1383a8a8b266f9a5833dacee8e6a79d3bf21a1b6be5ad /data/GFPGAN/GFPGANv1.4.pth
5-
4fa0d38905f75ac06eb49a7951b426670021be3018265fd191d2125df9d682f1 /data/RealESRGAN/RealESRGAN_x4plus.pth
6-
f872d837d3c90ed2e05227bed711af5671a6fd1c9f7d7e91c911a61f155e99da /data/RealESRGAN/RealESRGAN_x4plus_anime_6B.pth
7-
c209caecac2f97b4bb8f4d726b70ac2ac9b35904b7fc99801e1f5e61f9210c13 /data/LDSR/model.ckpt
8-
9d6ad53c5dafeb07200fb712db14b813b527edd262bc80ea136777bdb41be2ba /data/LDSR/project.yaml
1+
cc6cb27103417325ff94f52b7a5d2dde45a7515b25c255d8e396c90014281516 /data/models/Stable-diffusion/v1-5-pruned-emaonly.ckpt
2+
c6bbc15e3224e6973459ba78de4998b80b50112b0ae5b5c67113d56b4e366b19 /data/models/Stable-diffusion/sd-v1-5-inpainting.ckpt
3+
c6a580b13a5bc05a5e16e4dbb80608ff2ec251a162311590c1f34c013d7f3dab /data/models/VAE/vae-ft-mse-840000-ema-pruned.ckpt
4+
e2cd4703ab14f4d01fd1383a8a8b266f9a5833dacee8e6a79d3bf21a1b6be5ad /data/models/GFPGAN/GFPGANv1.4.pth
5+
4fa0d38905f75ac06eb49a7951b426670021be3018265fd191d2125df9d682f1 /data/models/RealESRGAN/RealESRGAN_x4plus.pth
6+
f872d837d3c90ed2e05227bed711af5671a6fd1c9f7d7e91c911a61f155e99da /data/models/RealESRGAN/RealESRGAN_x4plus_anime_6B.pth
7+
c209caecac2f97b4bb8f4d726b70ac2ac9b35904b7fc99801e1f5e61f9210c13 /data/models/LDSR/model.ckpt
8+
9d6ad53c5dafeb07200fb712db14b813b527edd262bc80ea136777bdb41be2ba /data/models/LDSR/project.yaml

services/download/download.sh

+9-27
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,18 @@ set -Eeuo pipefail
44

55
# TODO: maybe just use the .gitignore file to create all of these
66
mkdir -vp /data/.cache \
7-
/data/StableDiffusion \
8-
/data/LyCORIS \
9-
/data/Codeformer \
10-
/data/ModelScope \
11-
/data/GFPGAN \
12-
/data/ESRGAN \
13-
/data/BSRGAN \
14-
/data/RealESRGAN \
15-
/data/SwinIR \
16-
/data/LDSR \
17-
/data/ScuNET \
187
/data/embeddings \
19-
/data/VAE \
20-
/data/Deepdanbooru \
21-
/data/MiDaS \
22-
/data/Lora \
23-
/data/ControlNet \
24-
/data/openpose \
25-
/data/GLIGEN \
26-
/data/CLIPEncoder # this is different from the cached pre-train ViT saved in /data/.cache/clip TODO: find out how
8+
/data/config/ \
9+
/data/models/ \
10+
/data/models/Stable-diffusion \
11+
/data/models/GFPGAN \
12+
/data/models/RealESRGAN \
13+
/data/models/LDSR \
14+
/data/models/VAE
2715

2816
echo "Downloading, this might take a while..."
2917

30-
aria2c -x 10 --disable-ipv6 --input-file /docker/links.txt --dir /data --continue
18+
aria2c -x 10 --disable-ipv6 --input-file /docker/links.txt --dir /data/models --continue
3119

3220
echo "Checking SHAs..."
3321

@@ -39,11 +27,5 @@ https://github.com/AbdBarho/stable-diffusion-webui-docker/blob/master/LICENSE
3927
https://github.com/CompVis/stable-diffusion/blob/main/LICENSE
4028
https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/master/LICENSE.txt
4129
https://github.com/invoke-ai/InvokeAI/blob/main/LICENSE
42-
https://github.com/sd-webui/stable-diffusion-webui/blob/master/LICENSE
43-
https://github.com/cszn/BSRGAN/blob/main/LICENSE
44-
https://github.com/sczhou/CodeFormer/blob/master/LICENSE
45-
https://github.com/TencentARC/GFPGAN/blob/master/LICENSE
46-
https://github.com/xinntao/Real-ESRGAN/blob/master/LICENSE
47-
https://github.com/xinntao/ESRGAN/blob/master/LICENSE
48-
https://github.com/cszn/SCUNet/blob/main/LICENSE
30+
And licenses of all UIs, third party libraries, and extensions.
4931
EOF

services/download/links.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt
2-
out=StableDiffusion/v1-5-pruned-emaonly.ckpt
2+
out=Stable-diffusion/v1-5-pruned-emaonly.ckpt
33
https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.ckpt
44
out=VAE/vae-ft-mse-840000-ema-pruned.ckpt
55
https://huggingface.co/runwayml/stable-diffusion-inpainting/resolve/main/sd-v1-5-inpainting.ckpt
6-
out=StableDiffusion/sd-v1-5-inpainting.ckpt
6+
out=Stable-diffusion/sd-v1-5-inpainting.ckpt
77
https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth
88
out=GFPGAN/GFPGANv1.4.pth
99
https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth

services/invoke/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,6 @@ EXPOSE 7860
4848

4949
ENTRYPOINT ["/docker/entrypoint.sh"]
5050
CMD invokeai --web --host 0.0.0.0 --port 7860 --root_dir ${ROOT} --config ${CONFIG_DIR}/models.yaml \
51-
--outdir /output/invoke --embedding_directory /data/embeddings/ --lora_directory /data/Lora \
51+
--outdir /output/invoke --embedding_directory /data/embeddings/ --lora_directory /data/models/Lora \
5252
--no-nsfw_checker --no-safety_checker ${CLI_ARGS}
5353

services/invoke/entrypoint.sh

+4-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ MOUNTS["/root/.cache"]=/data/.cache/
1313
rm -rf ${HF_HOME}/diffusers
1414

1515
# ui specific
16-
MOUNTS["${ROOT}/models/codeformer"]=/data/Codeformer/
17-
MOUNTS["${ROOT}/models/gfpgan/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
18-
MOUNTS["${ROOT}/models/gfpgan/weights"]=/data/GFPGAN/
19-
MOUNTS["${ROOT}/models/realesrgan"]=/data/RealESRGAN/
16+
MOUNTS["${ROOT}/models/codeformer"]=/data/models/Codeformer/
17+
MOUNTS["${ROOT}/models/gfpgan/GFPGANv1.4.pth"]=/data/models/GFPGAN/GFPGANv1.4.pth
18+
MOUNTS["${ROOT}/models/gfpgan/weights"]=/data/models/GFPGAN/
19+
MOUNTS["${ROOT}/models/realesrgan"]=/data/models/RealESRGAN/
2020

2121
MOUNTS["${ROOT}/models/ldm"]=/data/.cache/invoke/ldm/
2222

0 commit comments

Comments
 (0)