mirror of
https://github.com/AbdBarho/stable-diffusion-webui-docker.git
synced 2024-12-11 15:44:25 +03:00
Update versions (#120)
- auto:2995107fa2
- More samplers - Textual inversion training - hlky:1a9c053cb7
- Build times are SLOW - lstein:4f247a3672
- Prepare for 2.0 release - very cool new UI!
This commit is contained in:
parent
e1e03229fd
commit
710280c7ab
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,2 @@
|
||||
/dev
|
||||
/.devcontainer
|
||||
embeddings/*
|
||||
/docker-compose.override.yml
|
||||
|
@ -17,7 +17,7 @@ git reset --hard 24268930bf1dce879235a7fddd0b2355b84d7ea6
|
||||
rm -rf repositories/taming-transformers/data repositories/taming-transformers/assets
|
||||
EOF
|
||||
|
||||
RUN git clone https://github.com/crowsonkb/k-diffusion.git repositories/k-diffusion && cd repositories/k-diffusion && git reset --hard 9e3002b7cd64df7870e08527b7664eb2f2f5f3f5
|
||||
RUN git clone https://github.com/crowsonkb/k-diffusion.git repositories/k-diffusion && cd repositories/k-diffusion && git reset --hard f4e99857772fc3a126ba886aadf795a332774878
|
||||
|
||||
|
||||
FROM continuumio/miniconda3:4.12.0
|
||||
@ -49,7 +49,7 @@ RUN pip install --prefer-binary --no-cache-dir -r ${ROOT}/repositories/CodeForme
|
||||
# Note: don't update the sha of previous versions because the install will take forever
|
||||
# instead, update the repo state in a later step
|
||||
|
||||
ARG SHA=1eb588cbf19924333b88beaa1ac0041904966640
|
||||
ARG SHA=2995107fa24cfd72b0a991e18271dcde148c2807
|
||||
RUN <<EOF
|
||||
cd stable-diffusion-webui
|
||||
git pull --rebase
|
||||
@ -75,4 +75,3 @@ EXPOSE 7860
|
||||
# run, -u to not buffer stdout / stderr
|
||||
CMD /docker/mount.sh && \
|
||||
python3 -u ../../webui.py --listen --port 7860 --hide-ui-dir-config --ckpt-dir ${ROOT}/models/Stable-diffusion ${CLI_ARGS}
|
||||
# --gfpgan-models-path /data/GFPGAN --codeformer-models-path /data/Codeformer --esrgan-models-path /data/ESRGAN --bsrgan-models-path /data/BSRGAN --realesrgan-models-path /data/RealESRGAN --swinir-models-path /data/SwinIR --ldsr-models-path /data/LDSR
|
||||
|
@ -16,7 +16,7 @@ RUN <<EOF
|
||||
git config --global http.postBuffer 1048576000
|
||||
git clone https://github.com/sd-webui/stable-diffusion-webui.git stable-diffusion
|
||||
cd stable-diffusion
|
||||
git reset --hard 7623a5734740025d79b710f3744bff9276e1467b
|
||||
git reset --hard 1a9c053cb7b6832695771db2555c0adc9b41e95f
|
||||
conda env update --file environment.yaml -n base
|
||||
conda clean -a -y
|
||||
EOF
|
||||
@ -24,8 +24,8 @@ EOF
|
||||
|
||||
# Note: don't update the sha of previous versions because the install will take forever
|
||||
# instead, update the repo state in a later step
|
||||
# ARG BRANCH=master SHA=d0bb60a139d60e6c2b9be4e18e0e29a86aa5af59
|
||||
ARG BRANCH=dev SHA=1e7bdfe3f38a6dd37fc230f440ea1b0db0937240
|
||||
ARG BRANCH=master SHA=1a9c053cb7b6832695771db2555c0adc9b41e95f
|
||||
# ARG BRANCH=dev SHA=1e7bdfe3f38a6dd37fc230f440ea1b0db0937240
|
||||
RUN <<EOF
|
||||
cd stable-diffusion
|
||||
git fetch
|
||||
|
@ -9,11 +9,14 @@ ROOT=/stable-diffusion/src
|
||||
# cache
|
||||
MOUNTS["/root/.cache"]=/data/.cache
|
||||
# ui specific
|
||||
MOUNTS["${ROOT}/gfpgan/experiments/pretrained_models/GFPGANv1.3.pth"]=/data/GFPGAN/GFPGANv1.4.pth
|
||||
MOUNTS["${ROOT}/realesrgan/experiments/pretrained_models"]=/data/RealESRGAN
|
||||
MOUNTS["${ROOT}/latent-diffusion/experiments/pretrained_models"]=/data/LDSR
|
||||
# hacks
|
||||
MOUNTS["/stable-diffusion/gfpgan/weights"]=/data/.cache
|
||||
MOUNTS["${PWD}/models/realesrgan"]=/data/RealESRGAN
|
||||
MOUNTS["${PWD}/models/ldsr"]=/data/LDSR
|
||||
MOUNTS["${PWD}/models/custom"]=/data/StableDiffusion
|
||||
|
||||
# hack
|
||||
MOUNTS["${PWD}/models/gfpgan/GFPGANv1.3.pth"]=/data/GFPGAN/GFPGANv1.4.pth
|
||||
MOUNTS["${PWD}/models/gfpgan/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
|
||||
|
||||
|
||||
for to_path in "${!MOUNTS[@]}"; do
|
||||
set -Eeuo pipefail
|
||||
|
@ -12,21 +12,20 @@ RUN conda install pytorch==1.11.0 torchvision==0.12.0 cudatoolkit=11.3 -c pytorc
|
||||
|
||||
RUN apt-get update && apt install fonts-dejavu-core rsync gcc -y && apt-get clean
|
||||
|
||||
ENV PIP_EXISTS_ACTION=w
|
||||
|
||||
RUN <<EOF
|
||||
git clone https://github.com/invoke-ai/InvokeAI.git stable-diffusion
|
||||
cd stable-diffusion
|
||||
git reset --hard a1739a73b48bfe98b6abcb67f5a0197a9ad270e0
|
||||
git reset --hard 8a8be92eac17e0ef699528157596b2336bdee532
|
||||
sed -i -- 's/python=3.8.5/python=3.9/g' environment.yaml
|
||||
git config --global http.postBuffer 1048576000
|
||||
conda env update --file environment.yaml -n base
|
||||
conda clean -a -y
|
||||
EOF
|
||||
|
||||
|
||||
ARG BRANCH=development SHA=8c9f2ae705cf723d4a8a73c416e8d8bf2d746977
|
||||
# this breaks on generation:
|
||||
# there is a new UI anyway, but it is not by any means ready.
|
||||
# ARG BRANCH=development SHA=bdbc76fcd4bd3362312dc91b087d9af66de423b1
|
||||
ARG BRANCH=development SHA=4f247a3672474bd9c46060bab6087dbf9e2531f3
|
||||
RUN <<EOF
|
||||
cd stable-diffusion
|
||||
git fetch
|
||||
@ -41,19 +40,18 @@ RUN pip uninstall opencv-python -y && pip install --prefer-binary --force-reinst
|
||||
|
||||
COPY . /docker/
|
||||
RUN <<EOF
|
||||
python3 /docker/info.py /stable-diffusion/static/dream_web/index.html
|
||||
python3 /docker/info.py /stable-diffusion/frontend/dist/index.html
|
||||
chmod +x /docker/mount.sh
|
||||
sed -i -- 's/outputs\//\/output/g' /stable-diffusion/backend/server.py
|
||||
EOF
|
||||
|
||||
|
||||
ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch PRELOAD=false CLI_ARGS=""
|
||||
ENV PRELOAD=false CLI_ARGS=""
|
||||
WORKDIR /stable-diffusion
|
||||
EXPOSE 7860
|
||||
|
||||
CMD /docker/mount.sh && \
|
||||
# python3 -u backend/server.py --host 0.0.0.0 --port 7860 --cors http://localhost:7860
|
||||
# python3 -u scripts/dream.py --outdir /output --web --host 0.0.0.0 --port 7860 ${CLI_ARGS}
|
||||
echo The lstein webUI is currently deactivated due to implementation limitations: \
|
||||
https://github.com/invoke-ai/InvokeAI/blob/8c9f2ae705cf723d4a8a73c416e8d8bf2d746977/backend/modules/create_cmd_parser.py#L26 \
|
||||
Once the path the output is fixed, the UI will be activated again
|
||||
python3 -u scripts/dream.py --outdir /output --web --host 0.0.0.0 --port 7860 ${CLI_ARGS}
|
||||
# echo The lstein webUI is currently deactivated due to implementation limitations: \
|
||||
# https://github.com/invoke-ai/InvokeAI/blob/8c9f2ae705cf723d4a8a73c416e8d8bf2d746977/backend/modules/create_cmd_parser.py#L26 \
|
||||
# Once the path the output is fixed, the UI will be activated again
|
||||
|
@ -4,7 +4,10 @@ from pathlib import Path
|
||||
file = Path(sys.argv[1])
|
||||
file.write_text(
|
||||
file.read_text()\
|
||||
.replace('GitHub site</a>', """
|
||||
GitHub site</a>, Deployed with <a href="https://github.com/AbdBarho/stable-diffusion-webui-docker/">stable-diffusion-webui-docker</a>
|
||||
.replace(' <div id="root"></div>', """
|
||||
<div id="root"></div>
|
||||
<div>
|
||||
Deployed with <a href="https://github.com/AbdBarho/stable-diffusion-webui-docker/">stable-diffusion-webui-docker</a>
|
||||
</div>
|
||||
""", 1)
|
||||
)
|
||||
|
@ -1,28 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
set -Eeuo pipefail
|
||||
|
||||
ROOT=/stable-diffusion
|
||||
declare -A MOUNTS
|
||||
|
||||
mkdir -p "${ROOT}/models/ldm/stable-diffusion-v1/"
|
||||
ln -sf /cache/models/model.ckpt "${ROOT}/models/ldm/stable-diffusion-v1/model.ckpt"
|
||||
# cache
|
||||
MOUNTS["/root/.cache"]=/data/.cache
|
||||
# ui specific
|
||||
MOUNTS["${PWD}/models/ldm/stable-diffusion-v1/model.ckpt"]=/data/StableDiffusion/model.ckpt
|
||||
MOUNTS["${PWD}/src/gfpgan/experiments/pretrained_models/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
|
||||
MOUNTS["${PWD}/ldm/dream/restoration/codeformer/weights"]=/data/CodeFormer
|
||||
# hacks
|
||||
MOUNTS["/opt/conda/lib/python3.9/site-packages/facexlib/weights"]=/data/.cache
|
||||
MOUNTS["/opt/conda/lib/python3.9/site-packages/realesrgan/weights"]=/data/RealESRGAN
|
||||
|
||||
base="${ROOT}/src/gfpgan/experiments/pretrained_models/"
|
||||
mkdir -p "${base}"
|
||||
# TODO: "real" GFPGANv1.4.pth
|
||||
ln -sf /cache/models/GFPGANv1.3.pth "${base}/GFPGANv1.4.pth"
|
||||
echo "Mounted GFPGANv1.3.pth"
|
||||
|
||||
# facexlib
|
||||
FACEX_WEIGHTS=/opt/conda/lib/python3.9/site-packages/facexlib/weights
|
||||
|
||||
rm -rf "${FACEX_WEIGHTS}"
|
||||
mkdir -p /cache/weights
|
||||
ln -sf -T /cache/weights "${FACEX_WEIGHTS}"
|
||||
|
||||
REALESRGAN_WEIGHTS=/opt/conda/lib/python3.9/site-packages/realesrgan/weights
|
||||
rm -rf "${REALESRGAN_WEIGHTS}"
|
||||
ln -sf -T /cache/weights "${REALESRGAN_WEIGHTS}"
|
||||
for to_path in "${!MOUNTS[@]}"; do
|
||||
set -Eeuo pipefail
|
||||
from_path="${MOUNTS[${to_path}]}"
|
||||
rm -rf "${to_path}"
|
||||
mkdir -p "$(dirname "${to_path}")"
|
||||
ln -sT "${from_path}" "${to_path}"
|
||||
echo Mounted $(basename "${from_path}")
|
||||
done
|
||||
|
||||
if "${PRELOAD}" == "true"; then
|
||||
python3 -u scripts/preload_models.py
|
||||
|
Loading…
Reference in New Issue
Block a user