AbdBarho 4 лет назад
Родитель
Сommit
499143009a
6 измененных файлов с 41 добавлено и 25 удалено
  1. 16 4
      AUTOMATIC1111/Dockerfile
  2. 14 0
      AUTOMATIC1111/info.py
  3. 4 0
      AUTOMATIC1111/mount.sh
  4. 1 1
      README.md
  5. 4 17
      hlky/Dockerfile
  6. 2 3
      hlky/mount.sh

+ 16 - 4
AUTOMATIC1111/Dockerfile

@@ -4,6 +4,7 @@ FROM alpine/git:2.36.2 as download
 RUN <<EOF
 # who knows
 git config --global http.postBuffer 1048576000
+git clone https://github.com/sczhou/CodeFormer.git repositories/CodeFormer
 git clone https://github.com/CompVis/stable-diffusion.git repositories/stable-diffusion
 git clone https://github.com/CompVis/taming-transformers.git repositories/taming-transformers
 rm -rf repositories/taming-transformers/data repositories/taming-transformers/assets
@@ -23,19 +24,30 @@ git reset --hard db6db585eb9ee48e7315e28603e18531dbc87067
 pip install -U --prefer-binary --no-cache-dir -r requirements.txt
 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 SHA=e92d4cf7476f1897fce376916dfb40755ea7920f
 RUN <<EOF
-pip install --prefer-binary -U --no-cache-dir opencv-python-headless markupsafe==2.0.1
+cd stable-diffusion-webui
+git pull
+git reset --hard ${SHA}
+pip install -U --prefer-binary --no-cache-dir -r requirements.txt
 EOF
 
-
 ENV ROOT=/workspace/stable-diffusion-webui \
-  WORKDIR=/workspace/stable-diffusion-webui/repositories/stable-diffusion \
-  TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS=""
+  WORKDIR=/workspace/stable-diffusion-webui/repositories/stable-diffusion
 
 COPY --from=download /git/ ${ROOT}
+RUN <<EOF
+pip install --prefer-binary -U --no-cache-dir -r ${ROOT}/repositories/CodeFormer/requirements.txt
+pip install --prefer-binary -U --no-cache-dir opencv-python-headless markupsafe==2.0.1
+EOF
+
+ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS=""
 
 
 COPY . /docker
+RUN chmod +x /docker/mount.sh && python3 /docker/info.py ${ROOT}/modules/ui.py
 
 WORKDIR ${WORKDIR}
 EXPOSE 7860

+ 14 - 0
AUTOMATIC1111/info.py

@@ -0,0 +1,14 @@
+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/tree/master/AUTOMATIC1111)'
+        )
+    return demo
+""", 1)
+)

+ 4 - 0
AUTOMATIC1111/mount.sh

@@ -23,6 +23,10 @@ ln -s -T /models /opt/conda/lib/python3.7/site-packages/realesrgan/weights
 # force facexlib cache
 mkdir -p /cache/weights/ ${WORKDIR}/gfpgan/
 ln -sf /cache/weights/ ${WORKDIR}/gfpgan/
+# code former cache
+rm -rf ${ROOT}/repositories/CodeFormer/weights/CodeFormer ${ROOT}/repositories/CodeFormer/weights/facelib
+ln -sf -T /cache/weights ${ROOT}/repositories/CodeFormer/weights/CodeFormer
+ln -sf -T /cache/weights ${ROOT}/repositories/CodeFormer/weights/facelib
 
 # mount config
 ln -sf /docker/config.json ${WORKDIR}/config.json

+ 1 - 1
README.md

@@ -67,7 +67,7 @@ You can find fixes to common issues [in the wiki page.](https://github.com/AbdBa
 
 ## Config
 
-in the `docker-compose.yml` you can change the `CLI_ARGS` variable, which contains the arguments that will be passed to the WebUI. By default: `--extra-models-cpu --optimized-turbo` are given, which allow you to use this model on a 6GB GPU. However, some features might not be available in the mode. [You can find the full list of arguments here.](https://github.com/hlky/stable-diffusion/blob/bb765f1897c968495ffe12a06b421d97b56d5ae1/scripts/webui.py)
+in the `docker-compose.yml` you can change the `CLI_ARGS` variable, which contains the arguments that will be passed to the WebUI. By default: `--extra-models-cpu --optimized-turbo` are given, which allow you to use this model on a 6GB GPU. However, some features might not be available in the mode. [You can find the full list of arguments here.](https://github.com/hlky/stable-diffusion-webui/blob/2b1ac8daf7ea82c6c56eabab7e80ec1c33106a98/scripts/webui.py)
 
 You can set the `WEBUI_SHA` to [any SHA from the main repo](https://github.com/hlky/stable-diffusion/commits/main), this will build the container against that commit. Use at your own risk.
 

+ 4 - 17
hlky/Dockerfile

@@ -11,9 +11,9 @@ RUN apt-get update && apt install fonts-dejavu-core rsync -y && apt-get clean
 
 
 RUN <<EOF
-git clone https://github.com/hlky/stable-diffusion.git
+git clone https://github.com/sd-webui/stable-diffusion-webui.git stable-diffusion
 cd stable-diffusion
-git reset --hard c84748aa6802c2f934687883a79bde745d2a58a6
+git reset --hard 2b1ac8daf7ea82c6c56eabab7e80ec1c33106a98
 conda env update --file environment.yaml -n base
 conda clean -a -y
 EOF
@@ -23,23 +23,10 @@ RUN pip install -U --no-cache-dir pyperclip
 
 # 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 WEBUI_SHA=bb765f1897c968495ffe12a06b421d97b56d5ae1
+ARG WEBUI_SHA=2b1ac8daf7ea82c6c56eabab7e80ec1c33106a98
 RUN cd stable-diffusion && git pull && git reset --hard ${WEBUI_SHA} && \
   conda env update --file environment.yaml --name base && conda clean -a -y
 
-
-# download dev UI version, update the sha below in case you want some other version
-# RUN <<EOF
-# git clone https://github.com/hlky/stable-diffusion-webui.git
-# cd stable-diffusion-webui
-# # map to this file: https://github.com/hlky/stable-diffusion-webui/blob/master/.github/sync.yml
-# git reset --hard 49e6178fd82ca736f9bbc621c6b12487c300e493
-# cp -t /stable-diffusion/scripts/ webui.py relauncher.py txt2img.yaml
-# cp -t /stable-diffusion/configs/webui webui.yaml
-# cp -t /stable-diffusion/frontend/ frontend/*
-# cd / && rm -rf stable-diffusion-webui
-# EOF
-
 # Textual inversion
 RUN <<EOF
 git clone https://github.com/hlky/sd-enable-textual-inversion.git &&
@@ -62,7 +49,7 @@ EOF
 
 # add info
 COPY . /docker/
-RUN python /docker/info.py /stable-diffusion/frontend/frontend.py
+RUN python /docker/info.py /stable-diffusion/frontend/frontend.py && chmod +x /docker/mount.sh
 
 WORKDIR /stable-diffusion
 ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS=""

+ 2 - 3
hlky/mount.sh

@@ -26,6 +26,5 @@ if test -f /models/LDSR.yaml; then
 fi
 
 # force facexlib cache
-mkdir -p /cache/weights/
-rm -rf /stable-diffusion/src/facexlib/facexlib/weights
-ln -sf /cache/weights/ /stable-diffusion/src/facexlib/facexlib/
+mkdir -p /cache/weights/ /stable-diffusion/gfpgan/
+ln -sf /cache/weights/ /stable-diffusion/gfpgan/