mirror of
https://github.com/AbdBarho/stable-diffusion-webui-docker.git
synced 2025-10-29 09:14:25 -04:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83b78fe504 | ||
|
|
84f9cb84e7 | ||
|
|
6a66ff6abb |
5
.github/pull_request_template.md
vendored
Normal file
5
.github/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
### Update versions
|
||||||
|
|
||||||
|
- auto: https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/
|
||||||
|
- hlky: https://github.com/sd-webui/stable-diffusion-webui/commit/
|
||||||
|
- lstein: https://github.com/lstein/stable-diffusion/commit/
|
||||||
@@ -39,7 +39,7 @@ services:
|
|||||||
- *v2
|
- *v2
|
||||||
- ./services/AUTOMATIC1111/config.json:/stable-diffusion-webui/config.json
|
- ./services/AUTOMATIC1111/config.json:/stable-diffusion-webui/config.json
|
||||||
environment:
|
environment:
|
||||||
- CLI_ARGS=--medvram --opt-split-attention
|
- CLI_ARGS=--medvram
|
||||||
|
|
||||||
automatic1111-cpu:
|
automatic1111-cpu:
|
||||||
<<: *automatic
|
<<: *automatic
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
FROM alpine/git:2.36.2 as download
|
FROM alpine/git:2.36.2 as download
|
||||||
|
|
||||||
|
|
||||||
|
RUN git clone --depth 1 https://github.com/CompVis/stable-diffusion.git repositories/stable-diffusion
|
||||||
|
RUN git clone --depth 1 https://github.com/sczhou/CodeFormer.git repositories/CodeFormer
|
||||||
|
RUN git clone --depth 1 https://github.com/salesforce/BLIP.git repositories/BLIP
|
||||||
|
|
||||||
RUN <<EOF
|
RUN <<EOF
|
||||||
# because taming-transformers is huge
|
# because taming-transformers is huge
|
||||||
git config --global http.postBuffer 1048576000
|
git config --global http.postBuffer 1048576000
|
||||||
git clone https://github.com/sczhou/CodeFormer.git repositories/CodeFormer
|
git clone --depth 1 https://github.com/CompVis/taming-transformers.git repositories/taming-transformers
|
||||||
git clone https://github.com/CompVis/stable-diffusion.git repositories/stable-diffusion
|
|
||||||
git clone https://github.com/salesforce/BLIP.git repositories/BLIP
|
|
||||||
git clone https://github.com/CompVis/taming-transformers.git repositories/taming-transformers
|
|
||||||
rm -rf repositories/taming-transformers/data repositories/taming-transformers/assets
|
rm -rf repositories/taming-transformers/data repositories/taming-transformers/assets
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@@ -27,22 +30,21 @@ RUN apt-get update && apt install fonts-dejavu-core rsync -y && apt-get clean
|
|||||||
RUN <<EOF
|
RUN <<EOF
|
||||||
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
|
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
|
||||||
cd stable-diffusion-webui
|
cd stable-diffusion-webui
|
||||||
git reset --hard 13eec4f3d4081fdc43883c5ef02e471a2b6c7212
|
git reset --hard 7e77938230d4fefb6edccdba0b80b61d8416673e
|
||||||
conda env update --file environment-wsl2.yaml -n base
|
|
||||||
conda clean -a -y
|
|
||||||
pip install --prefer-binary --no-cache-dir -r requirements.txt
|
pip install --prefer-binary --no-cache-dir -r requirements.txt
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
ENV ROOT=/stable-diffusion-webui \
|
ENV ROOT=/stable-diffusion-webui \
|
||||||
WORKDIR=/stable-diffusion-webui/repositories/stable-diffusion
|
WORKDIR=/stable-diffusion-webui/repositories/stable-diffusion
|
||||||
|
|
||||||
|
|
||||||
COPY --from=download /git/ ${ROOT}
|
COPY --from=download /git/ ${ROOT}
|
||||||
RUN pip install --prefer-binary --no-cache-dir -r ${ROOT}/repositories/CodeFormer/requirements.txt
|
RUN pip install --prefer-binary --no-cache-dir -r ${ROOT}/repositories/CodeFormer/requirements.txt
|
||||||
|
|
||||||
# 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=99585b3514e2d7e987651d5c6a0806f933af012b
|
ARG SHA=dd911a47b3c3313b3938b700eb26cbd5bb3e1c95
|
||||||
RUN <<EOF
|
RUN <<EOF
|
||||||
cd stable-diffusion-webui
|
cd stable-diffusion-webui
|
||||||
git pull --rebase
|
git pull --rebase
|
||||||
|
|||||||
@@ -21,15 +21,12 @@ conda env update --file environment.yaml -n base
|
|||||||
conda clean -a -y
|
conda clean -a -y
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# new dependency, should be added to the environment.yaml
|
|
||||||
RUN pip install -U --no-cache-dir pyperclip
|
|
||||||
|
|
||||||
# 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 BRANCH=master
|
ARG BRANCH=master
|
||||||
ARG SHA=833a91047df999302f699637768741cecee9c37b
|
# ARG SHA=833a91047df999302f699637768741cecee9c37b
|
||||||
# ARG BRANCH=dev
|
# ARG BRANCH=dev
|
||||||
# ARG SHA=5f3d7facdea58fc4f89b8c584d22a4639615a2f8
|
ARG SHA=17748cbc9c34df44d0381c42e4f0fe1903089438
|
||||||
RUN <<EOF
|
RUN <<EOF
|
||||||
cd stable-diffusion
|
cd stable-diffusion
|
||||||
git fetch
|
git fetch
|
||||||
@@ -39,11 +36,12 @@ conda env update --file environment.yaml -n base
|
|||||||
conda clean -a -y
|
conda clean -a -y
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
RUN pip uninstall transformers -y && pip install -U --no-cache-dir pyperclip transformers==4.22
|
||||||
|
|
||||||
# Latent diffusion
|
# Latent diffusion
|
||||||
RUN <<EOF
|
RUN <<EOF
|
||||||
git clone https://github.com/Hafiidz/latent-diffusion.git
|
git clone --depth 1 https://github.com/Hafiidz/latent-diffusion.git
|
||||||
cd latent-diffusion
|
cd latent-diffusion
|
||||||
git reset --hard e1a84a89fcbb49881546cf2acf1e7e250923dba0
|
|
||||||
# hacks all the way down
|
# hacks all the way down
|
||||||
mv ldm ldm_latent &&
|
mv ldm ldm_latent &&
|
||||||
sed -i -- 's/from ldm/from ldm_latent/g' *.py
|
sed -i -- 's/from ldm/from ldm_latent/g' *.py
|
||||||
@@ -56,7 +54,7 @@ COPY . /docker/
|
|||||||
RUN python /docker/info.py /stable-diffusion/frontend/frontend.py && chmod +x /docker/mount.sh
|
RUN python /docker/info.py /stable-diffusion/frontend/frontend.py && chmod +x /docker/mount.sh
|
||||||
|
|
||||||
WORKDIR /stable-diffusion
|
WORKDIR /stable-diffusion
|
||||||
ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS=""
|
ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch PYTHONPATH="${PYTHONPATH}:/stable-diffusion" CLI_ARGS=""
|
||||||
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 && \
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ SHELL ["/bin/bash", "-ceuxo", "pipefail"]
|
|||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN conda install python=3.8.5 && conda clean -a -y
|
# now it requires python3.9
|
||||||
|
RUN conda install python=3.9 && conda clean -a -y
|
||||||
RUN conda install pytorch==1.11.0 torchvision==0.12.0 cudatoolkit=11.3 -c pytorch && conda clean -a -y
|
RUN conda install pytorch==1.11.0 torchvision==0.12.0 cudatoolkit=11.3 -c pytorch && conda clean -a -y
|
||||||
|
|
||||||
RUN apt-get update && apt install fonts-dejavu-core rsync gcc -y && apt-get clean
|
RUN apt-get update && apt install fonts-dejavu-core rsync gcc -y && apt-get clean
|
||||||
@@ -15,30 +16,39 @@ RUN apt-get update && apt install fonts-dejavu-core rsync gcc -y && apt-get clea
|
|||||||
RUN <<EOF
|
RUN <<EOF
|
||||||
git clone https://github.com/lstein/stable-diffusion.git
|
git clone https://github.com/lstein/stable-diffusion.git
|
||||||
cd stable-diffusion
|
cd stable-diffusion
|
||||||
git reset --hard 751283a2de81bee4bb571fbabe4adb19f1d85b97
|
git reset --hard e994073b5bdfa3c77313681c5944be1544eb65b6
|
||||||
|
sed -i -- 's/python=3.8.5/python=3.9/g' environment.yaml
|
||||||
conda env update --file environment.yaml -n base
|
conda env update --file environment.yaml -n base
|
||||||
conda clean -a -y
|
conda clean -a -y
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
||||||
ARG BRANCH=development SHA=45af30f3a4c98b50c755717831c5fff75a3a8b43
|
ARG BRANCH=development SHA=50d607ffea3734072a80e38b09ba0c3758af5d40
|
||||||
# ARG BRANCH=main SHA=89da371f4841f7e05da5a1672459d700c3920784
|
# ARG BRANCH=main SHA=89da371f4841f7e05da5a1672459d700c3920784
|
||||||
RUN <<EOF
|
RUN <<EOF
|
||||||
cd stable-diffusion
|
cd stable-diffusion
|
||||||
git fetch
|
git fetch
|
||||||
|
git reset --hard
|
||||||
git checkout ${BRANCH}
|
git checkout ${BRANCH}
|
||||||
git reset --hard ${SHA}
|
git reset --hard ${SHA}
|
||||||
conda env update --file environment.yaml -n base
|
conda env update --file environment.yaml -n base
|
||||||
conda clean -a -y
|
conda clean -a -y
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
RUN pip uninstall opencv-python -y && pip install --prefer-binary --upgrade --force-reinstall --no-cache-dir opencv-python-headless
|
RUN pip uninstall opencv-python -y && pip install --prefer-binary --force-reinstall --no-cache-dir opencv-python-headless transformers==4.22
|
||||||
|
|
||||||
COPY . /docker/
|
COPY . /docker/
|
||||||
RUN python3 /docker/info.py /stable-diffusion/static/dream_web/index.html && chmod +x /docker/mount.sh
|
RUN <<EOF
|
||||||
|
python3 /docker/info.py /stable-diffusion/static/dream_web/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 TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch PRELOAD=false CLI_ARGS=""
|
||||||
WORKDIR /stable-diffusion
|
WORKDIR /stable-diffusion
|
||||||
EXPOSE 7860
|
EXPOSE 7860
|
||||||
|
|
||||||
CMD /docker/mount.sh && python3 -u scripts/dream.py --outdir /output --web --host 0.0.0.0 --port 7860 ${CLI_ARGS}
|
CMD /docker/mount.sh && \
|
||||||
|
python3 -u scripts/dream.py --outdir /output --web --host 0.0.0.0 --port 7860 ${CLI_ARGS}
|
||||||
|
#python3 -u backend/server.py
|
||||||
|
|||||||
@@ -15,12 +15,16 @@ if test -f /cache/models/GFPGANv1.3.pth; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# facexlib
|
# facexlib
|
||||||
FACEX_WEIGHTS=/opt/conda/lib/python3.8/site-packages/facexlib/weights
|
FACEX_WEIGHTS=/opt/conda/lib/python3.9/site-packages/facexlib/weights
|
||||||
|
|
||||||
rm -rf "${FACEX_WEIGHTS}"
|
rm -rf "${FACEX_WEIGHTS}"
|
||||||
mkdir -p /cache/weights
|
mkdir -p /cache/weights
|
||||||
ln -sf -T /cache/weights "${FACEX_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}"
|
||||||
|
|
||||||
if "${PRELOAD}" == "true"; then
|
if "${PRELOAD}" == "true"; then
|
||||||
python3 -u scripts/preload_models.py
|
python3 -u scripts/preload_models.py
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user