mirror of
https://github.com/AbdBarho/stable-diffusion-webui-docker.git
synced 2025-10-30 09:43:38 -04:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5af482ed8c | ||
|
|
ce4e190f8f | ||
|
|
bae3590980 | ||
|
|
1588d1eecf |
9
.editorconfig
Normal file
9
.editorconfig
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
charset = utf-8
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* text=auto eol=lf
|
||||||
164
README.md
164
README.md
@@ -1,82 +1,82 @@
|
|||||||
# Stable Diffusion WebUI Docker
|
# Stable Diffusion WebUI Docker
|
||||||
|
|
||||||
Run Stable Diffusion on your machine with a nice UI without any hassle!
|
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 a docker image for easy setup and deployment. Please note that the WebUI is experimental and evolving quickly, so expect some bugs.
|
This repository provides the [WebUI](https://github.com/hlky/stable-diffusion-webui) as a docker image for easy setup and deployment. Please note that the WebUI is experimental and evolving quickly, so expect some bugs.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Interactive UI with many features, and more on the way!
|
- Interactive UI with many features, and more on the way!
|
||||||
- Support for 6GB GPU cards.
|
- Support for 6GB GPU cards.
|
||||||
- GFPGAN for face reconstruction, RealESRGAN for super-sampling.
|
- GFPGAN for face reconstruction, RealESRGAN for super-sampling.
|
||||||
- Experimental:
|
- Experimental:
|
||||||
- [Textual Inversion](https://github.com/hlky/sd-enable-textual-inversion)
|
- [Textual Inversion](https://github.com/hlky/sd-enable-textual-inversion)
|
||||||
- Latent Diffusion Super Resolution
|
- Latent Diffusion Super Resolution
|
||||||
- GoBig
|
- GoBig
|
||||||
- GoLatent
|
- GoLatent
|
||||||
- many more!
|
- many more!
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
Make sure you have an **up to date** version of docker installed. Download this repo and run:
|
Make sure you have an **up to date** version of docker installed. Download this repo and run:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker compose build
|
docker compose build
|
||||||
```
|
```
|
||||||
|
|
||||||
you can let it build in the background while you download the different models
|
you can let it build in the background while you download the different models
|
||||||
|
|
||||||
- [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`
|
- [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) [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).
|
- (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).
|
||||||
- (Optional) [LDSR (2GB)](https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1) and [its configuration](https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1), rename to `LDSR.ckpt` and `LDSR.yaml` respectively.
|
- (Optional) [LDSR (2GB)](https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1) and [its configuration](https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1), rename to `LDSR.ckpt` and `LDSR.yaml` respectively.
|
||||||
<!-- - (Optional) [RealESRGAN_x2plus.pth (64MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.1/RealESRGAN_x2plus.pth)
|
<!-- - (Optional) [RealESRGAN_x2plus.pth (64MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.1/RealESRGAN_x2plus.pth)
|
||||||
- TODO: (I still need to find the RealESRGAN_x2plus_6b.pth) -->
|
- TODO: (I still need to find the RealESRGAN_x2plus_6b.pth) -->
|
||||||
|
|
||||||
Put all of the downloaded files in the `models` folder, it should look something like this:
|
Put all of the downloaded files in the `models` folder, it should look something like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
models/
|
models/
|
||||||
├── model.ckpt
|
├── model.ckpt
|
||||||
├── GFPGANv1.3.pth
|
├── GFPGANv1.3.pth
|
||||||
├── RealESRGAN_x4plus.pth
|
├── RealESRGAN_x4plus.pth
|
||||||
├── RealESRGAN_x4plus_anime_6B.pth
|
├── RealESRGAN_x4plus_anime_6B.pth
|
||||||
├── LDSR.ckpt
|
├── LDSR.ckpt
|
||||||
└── LDSR.yaml
|
└── LDSR.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
## Run
|
## Run
|
||||||
|
|
||||||
After the build is done, you can run the app with:
|
After the build is done, you can run the app with:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker compose up --build
|
docker compose up --build
|
||||||
```
|
```
|
||||||
|
|
||||||
Will start the app on http://localhost:7860/
|
Will start the app on http://localhost:7860/
|
||||||
|
|
||||||
Note: the first start will take sometime as some other models will be downloaded, these will be cached in the `cache` folder, so next runs are faster.
|
Note: the first start will take sometime as some other models will be downloaded, these will be cached in the `cache` folder, so next runs are faster.
|
||||||
|
|
||||||
## Config
|
## 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.
|
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/d667ff52a36b4e79526f01555bfbf85428f334ce/scripts/webui.py)
|
[You can find the full list of arguments here.](https://github.com/hlky/stable-diffusion/blob/d667ff52a36b4e79526f01555bfbf85428f334ce/scripts/webui.py)
|
||||||
|
|
||||||
### FAQ
|
### FAQ
|
||||||
|
|
||||||
You can find fixes to common issues [in the wiki page.](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/Main)
|
You can find fixes to common issues [in the wiki page.](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/Main)
|
||||||
|
|
||||||
# Disclaimer
|
# Disclaimer
|
||||||
|
|
||||||
The authors of this project are not responsible for any content generated using this interface.
|
The authors of this project are not responsible for any content generated using this interface.
|
||||||
|
|
||||||
This license of this software forbids you from sharing any content that violates any laws, produce any harm to a person, disseminate any personal information that would be meant for harm, spread misinformation and target vulnerable groups. For the full list of restrictions please read [the license](./LICENSE).
|
This license of this software forbids you from sharing any content that violates any laws, produce any harm to a person, disseminate any personal information that would be meant for harm, spread misinformation and target vulnerable groups. For the full list of restrictions please read [the license](./LICENSE).
|
||||||
|
|
||||||
# Thanks
|
# Thanks
|
||||||
|
|
||||||
Special thanks to everyone behind these awesome projects, without them, none of this would have been possible:
|
Special thanks to everyone behind these awesome projects, without them, none of this would have been possible:
|
||||||
|
|
||||||
- [hlky/stable-diffusion-webui](https://github.com/hlky/stable-diffusion-webui)
|
- [hlky/stable-diffusion-webui](https://github.com/hlky/stable-diffusion-webui)
|
||||||
- [AUTOMATIC1111/stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
|
- [AUTOMATIC1111/stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
|
||||||
- [CompVis/stable-diffusion](https://github.com/CompVis/stable-diffusion)
|
- [CompVis/stable-diffusion](https://github.com/CompVis/stable-diffusion)
|
||||||
|
|||||||
@@ -7,9 +7,6 @@ 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 ff8c2d0b709f1e4180fb19fa5c27ec28c414cedd
|
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
|
RUN conda env update --file stable-diffusion/environment.yaml --name base && conda clean -a -y
|
||||||
|
|
||||||
# Fix: Module PIL has not attribute "Resampling"
|
|
||||||
RUN conda install -c anaconda pillow==9.2.0 && conda clean -a -y
|
|
||||||
|
|
||||||
|
|
||||||
SHELL ["/bin/bash", "-ceuxo", "pipefail"]
|
SHELL ["/bin/bash", "-ceuxo", "pipefail"]
|
||||||
|
|
||||||
@@ -18,8 +15,9 @@ 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
|
# 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
|
||||||
RUN cd stable-diffusion && git pull && git reset --hard d667ff52a36b4e79526f01555bfbf85428f334ce && \
|
RUN cd stable-diffusion && git pull && git reset --hard c84748aa6802c2f934687883a79bde745d2a58a6 && \
|
||||||
conda env update --file environment.yaml --name base && conda clean -a -y
|
conda env update --file environment.yaml --name base && conda clean -a -y \
|
||||||
|
&& pip install -U --no-cache-dir pyperclip
|
||||||
|
|
||||||
# download dev UI version, update the sha below in case you want some other version
|
# download dev UI version, update the sha below in case you want some other version
|
||||||
# RUN <<EOF
|
# RUN <<EOF
|
||||||
@@ -45,7 +43,7 @@ EOF
|
|||||||
RUN <<EOF
|
RUN <<EOF
|
||||||
git clone https://github.com/devilismyfriend/latent-diffusion &&
|
git clone https://github.com/devilismyfriend/latent-diffusion &&
|
||||||
cd /latent-diffusion &&
|
cd /latent-diffusion &&
|
||||||
git reset --hard 4119cf038fb953360fb004e48adb9913eed3594a &&
|
git reset --hard 6d61fc03f15273a457950f2cdc10dddf53ba6809 &&
|
||||||
# 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
|
||||||
@@ -61,4 +59,4 @@ WORKDIR /stable-diffusion
|
|||||||
ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS=""
|
ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch CLI_ARGS=""
|
||||||
EXPOSE 7860
|
EXPOSE 7860
|
||||||
# run, -u to not buffer stdout / stderr
|
# run, -u to not buffer stdout / stderr
|
||||||
CMD /docker/mount.sh && python3 -u scripts/webui.py --outdir /output --ckpt /models/model.ckpt --ldsr-dir /latent-diffusion --save-metadata ${CLI_ARGS}
|
CMD /docker/mount.sh && python3 -u scripts/webui.py --outdir /output --ckpt /models/model.ckpt --ldsr-dir /latent-diffusion ${CLI_ARGS}
|
||||||
|
|||||||
@@ -9,7 +9,5 @@ file.write_text(
|
|||||||
Created using <a href="https://github.com/AbdBarho/stable-diffusion-webui-docker">stable-diffusion-webui-docker</a>.
|
Created using <a href="https://github.com/AbdBarho/stable-diffusion-webui-docker">stable-diffusion-webui-docker</a>.
|
||||||
</p>
|
</p>
|
||||||
<p>For help and advanced usage guides,
|
<p>For help and advanced usage guides,
|
||||||
""", 1)\
|
""", 1)
|
||||||
.replace('img2img_cfg = gr.Slider(minimum=1.0, maximum=30.0', 'img2img_cfg = gr.Slider(minimum=1.0, maximum=60.0')
|
)
|
||||||
|
|
||||||
)
|
|
||||||
|
|||||||
0
build/mount.sh
Normal file → Executable file
0
build/mount.sh
Normal file → Executable file
Reference in New Issue
Block a user