19 Commits

Author SHA1 Message Date
Abdullah Barhoum
44903ca3aa Update Readme 2022-08-31 07:07:05 +02:00
Abdullah Barhoum
af409daa0e Update Core to fa977b3d6 2022-08-31 07:05:27 +02:00
Abdullah Barhoum
19f9402076 Update Core to fe76828926653f979263b4c9d0bf7acc75f4aad2 2022-08-30 21:40:02 +02:00
Abdullah Barhoum
eef83a318c Move GFPGAN to GPU 2022-08-30 18:56:46 +02:00
Abdullah Barhoum
bc8ec0fe55 Update README 2022-08-30 06:17:38 +02:00
Abdullah Barhoum
f5e9997a55 Update
Core: c0c2a7c0d55561cfb6f42a3681346b9b70749ff1
UI: 49e6178fd82ca736f9bbc621c6b12487c300e493
2022-08-30 06:11:28 +02:00
Abdullah Barhoum
fec97dc9e1 Update Versions
Core: 64490d2df8b321d6562d3023210a30a2c5ad42b7
UI: e253a27a0fd5f252e9acb9b0003f7e3570ab7162
2022-08-29 20:10:14 +02:00
AbdBarho
134130a3b2 Update README.md 2022-08-29 17:52:39 +02:00
Abdullah Barhoum
2ecfb0fe59 Make directories if they don't exist 2022-08-29 08:12:04 +02:00
Abdullah Barhoum
89d8a17064 Update SHAs
Core to f3ab556a0c25389cf76f82e63073054e32313829

UI to 083ffd9ad83d196100fd4b8edfa82c9378546327
2022-08-29 06:06:58 +02:00
Abdullah Barhoum
05829c5ae3 Make secondary models optional 2022-08-29 05:50:35 +02:00
Abdullah Barhoum
66c0658255 Fix message repetition 2022-08-28 19:09:15 +02:00
Abdullah Barhoum
b3fa72a614 Update UI & Core 2022-08-28 18:41:54 +02:00
Abdullah Barhoum
3efd62aac2 Update Readme 2022-08-28 15:27:04 +02:00
Abdullah Barhoum
b5537dbc78 Update Base to 6b442c0 2022-08-28 13:35:40 +02:00
Abdullah Barhoum
76bd1bf3cb Update Readme 2022-08-28 12:37:13 +02:00
Abdullah Barhoum
43492b0ba1 Update UI to 3389056 2022-08-28 09:34:56 +02:00
Abdullah Barhoum
6178aee73b Remove Outdated License 2022-08-27 18:41:30 +01:00
Abdullah Barhoum
3492e308f3 Update UI to fe6f1e3d 2022-08-27 18:40:42 +01:00
7 changed files with 78 additions and 45 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
/dev
/.devcontainer

22
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,22 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "WebUI",
"type": "python",
"request": "launch",
"program": "${file}",
"cwd": "/stable-diffusion",
"args": ["--ckpt", "${workspaceFolder}/models/model.ckpt", "--gfpgan-dir", "${workspaceFolder}/models/", "--extra-models-cpu"],
"env": {
"TRANSFORMERS_CACHE":"${workspaceFolder}/cache/transformers",
"TORCH_HOME":"${workspaceFolder}/cache/torch"
},
"console": "integratedTerminal",
"justMyCode": false
}
]
}

View File

@@ -1,24 +0,0 @@
Microsoft TrueType Fonts
END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE
---------------------------------------------------
IMPORTANT - READ CAREFULLY: This Microsoft End-User License Agreement ("EULA") is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation for the Microsoft software accompanying this EULA, which includes computer software and may include associated media, printed materials, and "on-line" or electronic documentation ("SOFTWARE PRODUCT" or "SOFTWARE"). By exercising your rights to make and use copies of the SOFTWARE PRODUCT, you agree to be bound by the terms of this EULA. If you do not agree to the terms of this EULA, you may not use the SOFTWARE PRODUCT.
SOFTWARE PRODUCT LICENSE
The SOFTWARE PRODUCT is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.
1. GRANT OF LICENSE. This EULA grants you the following rights:
<EFBFBD> Installation and Use. You may install and use an unlimited number of copies of the SOFTWARE PRODUCT.
<EFBFBD> Reproduction and Distribution. You may reproduce and distribute an unlimited number of copies of the SOFTWARE PRODUCT; provided that each copy shall be a true and complete copy, including all copyright and trademark notices, and shall be accompanied by a copy of this EULA. Copies of the SOFTWARE PRODUCT may not be distributed for profit either on a standalone basis or included as part of your own product.
2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS.
<EFBFBD> Limitations on Reverse Engineering, Decompilation, and Disassembly. You may not reverse engineer, decompile, or disassemble the SOFTWARE PRODUCT, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.
<EFBFBD> Restrictions on Alteration. You may not rename, edit or create any derivative works from the SOFTWARE PRODUCT, other than subsetting when embedding them in documents.
<EFBFBD> Software Transfer. You may permanently transfer all of your rights under this EULA, provided the recipient agrees to the terms of this EULA.
<EFBFBD> Termination. Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with the terms and conditions of this EULA. In such event, you must destroy all copies of the SOFTWARE PRODUCT and all of its component parts.
3. COPYRIGHT. All title and copyrights in and to the SOFTWARE PRODUCT (including but not limited to any images, text, and "applets" incorporated into the SOFTWARE PRODUCT), the accompanying printed materials, and any copies of the SOFTWARE PRODUCT are owned by Microsoft or its suppliers. The SOFTWARE PRODUCT is protected by copyright laws and international treaty provisions. Therefore, you must treat the SOFTWARE PRODUCT like any other copyrighted material.
4. U.S. GOVERNMENT RESTRICTED RIGHTS. The SOFTWARE PRODUCT and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software-Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is Microsoft Corporation/One Microsoft Way/Redmond, WA 98052-6399.
LIMITED WARRANTY
NO WARRANTIES. Microsoft expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation is provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties or merchantability, fitness for a particular purpose, or noninfringement. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.
NO LIABILITY FOR CONSEQUENTIAL DAMAGES. In no event shall Microsoft or its suppliers be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this Microsoft product, even if Microsoft has been advised of the possibility of such damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
MISCELLANEOUS
If you acquired this product in the United States, this EULA is governed by the laws of the State of Washington.
If this product was acquired outside the United States, then local laws may apply.
Should you have any questions concerning this EULA, or if you desire to contact Microsoft for any reason, please contact the Microsoft subsidiary serving your country, or write: Microsoft Sales Information Center/One Microsoft Way/Redmond, WA 98052-6399.

BIN
README.md

Binary file not shown.

View File

@@ -8,31 +8,50 @@ RUN conda install pytorch==1.11.0 torchvision==0.12.0 cudatoolkit=11.3 -c pytorc
RUN git clone https://github.com/hlky/stable-diffusion.git && cd stable-diffusion && git reset --hard 554bd068e6f2f6bc55449a67fe017ddd77090f28
RUN conda env update --file stable-diffusion/environment.yaml --name base && conda clean -a -y
# fonts for generating the grid
RUN apt-get update && apt install fonts-dejavu-core && apt-get clean
RUN git clone https://github.com/hlky/stable-diffusion-webui.git && cd stable-diffusion-webui && \
git reset --hard 82770bacae08f3b41a0df3eee9fca214d6b7fae6 && \
cp -t /stable-diffusion/scripts/ txt2img.yaml webui.py webui.yaml webui_playground.py && \
cd / && rm -rf stable-diffusion-webui
# Note: don't update the sha of previous versions because the install will take forever
# instead, update the repo state in a later step
RUN cd stable-diffusion && git pull && git reset --hard fa977b3d6f9d0b264035c949fd70415476f00036 && \
conda env update --file environment.yaml --name base && conda clean -a -y
# newer versions of the UI uses arial as font, which needs to be installed
# https://github.com/hlky/stable-diffusion-webui/blob/82770bacae08f3b41a0df3eee9fca214d6b7fae6/webui.py#L364
# this might change in the future, so we can remove it later
WORKDIR /tmp/
RUN apt-get update && apt install cabextract wget && wget https://www.freedesktop.org/software/fontconfig/webfonts/webfonts.tar.gz &&\
tar -xzf webfonts.tar.gz && cd msfonts/ && cabextract *.exe && cp Arial.TTF /stable-diffusion/arial.ttf &&\
apt-get clean && rm -rf /tmp/
# 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
# cp -rf sd-enable-textual-inversion /stable-diffusion
# EOF
ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS=""
# add info
COPY info.py /info.py
RUN python /info.py /stable-diffusion/frontend/frontend.py
WORKDIR /stable-diffusion
ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS="" \
GFPGAN_PATH=/stable-diffusion/src/gfpgan/experiments/pretrained_models/GFPGANv1.3.pth \
RealESRGAN_PATH=/stable-diffusion/src/realesrgan/experiments/pretrained_models/RealESRGAN_x4plus.pth \
RealESRGAN_ANIME_PATH=/stable-diffusion/src/realesrgan/experiments/pretrained_models/RealESRGAN_x4plus_anime_6B.pth
EXPOSE 7860
CMD ln -sf /models/model.ckpt /stable-diffusion/models/ldm/stable-diffusion-v1/model.ckpt && \
ln -sf /models/GFPGANv1.3.pth /stable-diffusion/src/gfpgan/experiments/pretrained_models/GFPGANv1.3.pth && \
ln -sf /models/RealESRGAN_x4plus.pth /stable-diffusion/src/realesrgan/experiments/pretrained_models/RealESRGAN_x4plus.pth && \
CMD \
for path in "${GFPGAN_PATH}" "${RealESRGAN_PATH}" "${RealESRGAN_ANIME_PATH}"; do \
name=$(basename "${path}"); \
base=$(dirname "${path}"); \
test -f "/models/${name}" && mkdir -p "${base}" && ln -sf "/models/${name}" "${path}" && echo "Mounted ${name}";\
done;\
# force facexlib cache
mkdir -p /cache/weights/ && rm -rf /opt/conda/lib/python3.8/site-packages/facexlib/weights && \
ln -sf /cache/weights/ /opt/conda/lib/python3.8/site-packages/facexlib/ && \
mkdir -p /cache/weights/ && rm -rf /stable-diffusion/src/facexlib/facexlib/weights && \
ln -sf /cache/weights/ /stable-diffusion/src/facexlib/facexlib/ && \
# run, -u to not buffer stdout / stderr
python3 -u scripts/webui.py --outdir /output --save-metadata --ckpt /models/model.ckpt ${CLI_ARGS}
python3 -u scripts/webui.py --outdir /output --ckpt /models/model.ckpt --save-metadata ${CLI_ARGS}

15
build/info.py Normal file
View File

@@ -0,0 +1,15 @@
import sys
from pathlib import Path
file = Path(sys.argv[1])
file.write_text(
file.read_text()\
.replace('<p>For help and advanced usage guides,', """
<p>
Created using <a href="https://github.com/AbdBarho/stable-diffusion-webui-docker">stable-diffusion-webui-docker</a>.
</p>
<p>For help and advanced usage guides,
""", 1)\
.replace('img2img_cfg = gr.Slider(minimum=1.0, maximum=30.0', 'img2img_cfg = gr.Slider(minimum=1.0, maximum=60.0')
)

View File

@@ -3,7 +3,7 @@ version: '3.9'
services:
model:
build: ./build/
restart: always
restart: on-failure
ports:
- "7860:7860"
volumes:
@@ -11,7 +11,7 @@ services:
- ./output:/output
- ./models:/models
environment:
- CLI_ARGS=--extra-models-cpu
- CLI_ARGS=--extra-models-cpu --optimized-turbo
deploy:
resources:
reservations: