mirror of
https://github.com/AbdBarho/stable-diffusion-webui-docker.git
synced 2025-10-27 08:14:26 -04:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c0c610f27 | ||
|
|
dc730b7f6b | ||
|
|
15952906a1 | ||
|
|
4aaf38970a | ||
|
|
61bd38dfe4 | ||
|
|
bec4997639 | ||
|
|
44903ca3aa | ||
|
|
af409daa0e | ||
|
|
19f9402076 | ||
|
|
eef83a318c | ||
|
|
bc8ec0fe55 |
22
.vscode/launch.json
vendored
Normal file
22
.vscode/launch.json
vendored
Normal 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
|
||||
}
|
||||
]
|
||||
}
|
||||
41
README.md
41
README.md
@@ -4,6 +4,14 @@ Run Stable Diffusion on your machine with a nice UI without any hassle!
|
||||
|
||||
This repository provides the [WebUI](https://github.com/hlky/stable-diffusion-webui) as docker for easy setup and deployment. Please note that this repo delivers all cutting-edge unstable changes from the WebUI, so expect some bugs.
|
||||
|
||||
### Features
|
||||
|
||||
- Interactive UI with many features, and more on the way!
|
||||
- Support for 6GB GPU cards.
|
||||
- GFPGAN for face reconstruction, RealESRGAN for super-sampling.
|
||||
- [Textual Inversion](https://github.com/hlky/sd-enable-textual-inversion)
|
||||
- many more!
|
||||
|
||||
## Setup
|
||||
|
||||
make sure you have docker installed and up to date. Download this repo and run:
|
||||
@@ -14,23 +22,18 @@ docker compose build
|
||||
|
||||
you can let it build in the background while you download the different models
|
||||
|
||||
- [Stable Diffusion v1.4 (4GB)](https://drive.yerf.org/wl/?id=EBfTrmcCCUAGaQBXVIj5lJmEhjoP1tgl), rename to `model.ckpt`
|
||||
- (Optional) [GFPGANv1.3.pth (333MB)](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth) to improve generated faces.
|
||||
- (Optional) [RealESRGAN_x4plus.pth (64MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth (18MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth) for super-sampling.
|
||||
- [Stable Diffusion v1.4 (4GB)](https://www.googleapis.com/storage/v1/b/aai-blog-files/o/sd-v1-4.ckpt?alt=media), rename to `model.ckpt`
|
||||
- (Optional) [GFPGANv1.3.pth (333MB)](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth).
|
||||
- (Optional) [RealESRGAN_x4plus.pth (64MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth (18MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth).
|
||||
|
||||
Put all of the downloaded models in the `models` folder, the folder structure should look something like this:
|
||||
Put all of the downloaded files in the `models` folder, it should look something like this:
|
||||
|
||||
```
|
||||
├── README.md
|
||||
├── docker-compose.yml
|
||||
├── build
|
||||
├── cache
|
||||
├── models
|
||||
│ ├── GFPGANv1.3.pth
|
||||
│ ├── RealESRGAN_x4plus.pth
|
||||
│ ├── RealESRGAN_x4plus_anime_6B.pth
|
||||
│ └── model.ckpt
|
||||
├── output
|
||||
models/
|
||||
├── GFPGANv1.3.pth
|
||||
├── RealESRGAN_x4plus.pth
|
||||
├── RealESRGAN_x4plus_anime_6B.pth
|
||||
└── model.ckpt
|
||||
```
|
||||
|
||||
## Run
|
||||
@@ -47,7 +50,15 @@ Note: the first start will take sometime as some other models will be downloaded
|
||||
|
||||
## Config
|
||||
|
||||
in the `docker-compose.yml` you can change the `CLI_ARGS` variable contains all of the variables that will be passed to [the web ui](https://github.com/hlky/stable-diffusion-webui/blob/49e6178fd82ca736f9bbc621c6b12487c300e493/webui.py), by default: `--extra-models-cpu --optimized-turbo` are given, which allow you to use this model on a 6GB GPU.
|
||||
in the `docker-compose.yml` you can change the `CLI_ARGS` variable, which contains all of 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/ff8c2d0b709f1e4180fb19fa5c27ec28c414cedd/scripts/webui.py)
|
||||
|
||||
## FAQ
|
||||
|
||||
- To enable [Textual Inversion](https://github.com/hlky/sd-enable-textual-inversion) remove `--optimize` and `--optimize-turbo` flags and add `--no-half`, [more info here](https://github.com/AbdBarho/stable-diffusion-webui-docker/issues/6).
|
||||
- [The Application Freezes When Trying Batch Sizes Higher Than One](https://github.com/AbdBarho/stable-diffusion-webui-docker/issues/12)
|
||||
- [Output is a green imagee](https://github.com/hlky/stable-diffusion-webui/issues/34)
|
||||
|
||||
# Disclaimer
|
||||
|
||||
|
||||
@@ -5,36 +5,36 @@ FROM continuumio/miniconda3:4.12.0
|
||||
|
||||
RUN conda install python=3.8.5 && 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 git clone https://github.com/hlky/stable-diffusion.git && cd stable-diffusion && git reset --hard 554bd068e6f2f6bc55449a67fe017ddd77090f28
|
||||
RUN git clone https://github.com/hlky/stable-diffusion.git && cd stable-diffusion && git reset --hard ff8c2d0b709f1e4180fb19fa5c27ec28c414cedd
|
||||
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 apt-get update && apt install fonts-dejavu-core rsync -y && apt-get clean
|
||||
|
||||
# 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 c0c2a7c0d55561cfb6f42a3681346b9b70749ff1 && \
|
||||
conda env update --file environment.yaml --name base && conda clean -a -y
|
||||
# RUN cd stable-diffusion && git pull && git reset --hard ff8c2d0b709f1e4180fb19fa5c27ec28c414cedd && \
|
||||
# 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/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
|
||||
git clone https://github.com/hlky/sd-enable-textual-inversion.git &&
|
||||
cd /sd-enable-textual-inversion && git reset --hard 08f9b5046552d17cf7327b30a98410222741b070 &&
|
||||
rsync -a /sd-enable-textual-inversion/ /stable-diffusion/
|
||||
EOF
|
||||
|
||||
# For testing different versions:
|
||||
# RUN git clone https://github.com/AbdBarho/stable-diffusion-webui.git && cd stable-diffusion-webui && \
|
||||
# git checkout respect-cli-params &&\
|
||||
# cp -t /stable-diffusion/scripts/ txt2img.yaml webui.py webui.yaml webui_playground.py && \
|
||||
# cd / && rm -rf stable-diffusion-webui
|
||||
|
||||
|
||||
# add info
|
||||
COPY info.py /info.py
|
||||
RUN python /info.py /stable-diffusion/frontend/frontend.py
|
||||
@@ -52,7 +52,7 @@ CMD \
|
||||
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 --ckpt /models/model.ckpt --save-metadata ${CLI_ARGS}
|
||||
|
||||
Reference in New Issue
Block a user