Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.devscripts
.github
.vscode
.idea
.editorconfig
.gitattributes
.gitignore
*.md
docs
data
output
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@
# VSCode specific
*.code-workspace
/.vscode
.idea
TODO.md
*.env
88 changes: 0 additions & 88 deletions Docker-compose-build.yml

This file was deleted.

9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ supports:
- fooocus
- forge
- reforge
- swarmui _**(be aware comfyui backend can take some time to start, up to a minute or 2)**_

#### TODOs
1. [ ] Fix [Warning] [ComfyUI-0/STDERR] NameError: name 'NODE_CLASS_MAPPINGS' is not defined

# Stable Diffusion WebUI Docker

Expand All @@ -17,6 +21,11 @@ Run Stable Diffusion on your machine with a nice UI without any hassle!

Visit the wiki for [Setup](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/Setup) and [Usage](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/Usage) instructions, checkout the [FAQ](https://github.com/AbdBarho/stable-diffusion-webui-docker/wiki/FAQ) page if you face any problems, or create a new issue!

```
docker compose --profile comfy up --build
docker compose --progress=plain --profile=comfy up --build
```

## Features

This repository provides multiple UIs for you to play around with stable diffusion:
Expand Down
6 changes: 2 additions & 4 deletions data/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
/.cache
/config
/embeddings
/models
/*
!/.gitignore
165 changes: 130 additions & 35 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,81 +1,176 @@
x-base_service: &base_service
ports:
- "${WEBUI_PORT:-7860}:7860"
volumes:
- &v1 ./data:/data
- &v2 ./output:/output
stop_signal: SIGKILL
tty: true
restart: unless-stopped
deploy:
resources:
# limits:
# cpus: 8
# memory: 48G
reservations:
# cpus: 4
# memory: 24G
devices:
- driver: nvidia
device_ids: ['0']
capabilities: [compute, utility]
capabilities: [compute, utility, gpu]

x-defaults: &defaults
<<: *base_service
ports:
- "${WEBUI_PORT:-7860}:7860"
volumes:
- &v1 ./data:/data
- &v2 ./output:/output

x-auto_service: &auto_service
<<: *defaults
container_name: auto
build: ./services/AUTOMATIC1111
image: sd-auto:latest

name: webui-docker

services:
download:
image: simonmcnair/download:master
build: ./services/download/
profiles: ["download"]
volumes:
- *v1
auto: &automatic
<<: *base_service

auto:
<<: *auto_service
profiles: ["auto"]
image: simonmcnair/automatic1111:master
environment:
- CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api

auto-cpu:
<<: *auto_service
profiles: ["auto-cpu"]
deploy: {}
environment:
- CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api

auto-full:
<<: *auto_service
profiles: [ "full" ]
environment:
- CLI_ARGS=--allow-code --xformers --enable-insecure-extension-access --no-half-vae --api

auto-rocm:
<<: *base_service
<<: *auto_service
profiles: ["auto-rocm"]
image: simonmcnair/automatic1111-rocm:master
container_name: auto-rocm
build:
context: ./services/AUTOMATIC1111
dockerfile: ROCM.dockerfile
devices:
- "/dev/kfd"
- "/dev/dri"
deploy: {}
environment:
- CLI_ARGS=--allow-code --medvram --enable-insecure-extension-access --api

reforge: &reforge
<<: *base_service
profiles: ["reforge"]
image: simonmcnair/reforge:master
environment:
- CLI_ARGS=--allow-code --xformers --enable-insecure-extension-access --api --pin-shared-memory --cuda-malloc --cuda-stream

forge: &forge
<<: *base_service
profiles: ["forge"]
image: simonmcnair/forge:master
environment:
- CLI_ARGS=--allow-code --xformers --enable-insecure-extension-access --api --pin-shared-memory --cuda-malloc --cuda-stream

auto-cpu:
<<: *automatic
profiles: ["auto-cpu"]
deploy: {}
environment:
- CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api

comfy: &comfy
<<: *base_service
profiles: ["comfy"]
image: simonmcnair/comfy:master
container_name: comfy
build: ./services/comfy
image: sd-comfy:latest
# command:
# - python main.py --preview-method auto --force-fp16
volumes:
- ./data/models:/opt/comfyui/models
- ./data/config/configs:/opt/comfyui/user/default/
- ./data/config/comfyui_manager/:/opt/comfyui/user/__manager/
- ./data/config/comfy/custom_nodes:/opt/comfyui/custom_nodes
- ./output/comfy:/opt/comfyui/output
ports:
- "${COMFYUI_PORT:-7861}:7861"
environment:
- COMFYUI_PATH=/opt/comfyui
- COMFYUI_MODEL_PATH=/opt/comfyui/models
- CLI_ARGS=
# - TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD=1

comfy-cpu:
<<: *comfy
profiles: ["comfy-cpu"]
deploy: {}
ports:
- "${COMFYUI_PORT:-7861}:7861"
environment:
- CLI_ARGS=--cpu

swarmui:
<<: *base_service
profiles: ["swarmui"]
container_name: swarmui
build: ./services/swarmui
image: sd-swarmui:latest
ports:
- "${SWARMUI_PORT:-7801}:7801"
volumes:
- ./data/swarmui:/SwarmUI/Data
- ./data/models:/SwarmUI/Models
- ./data/embeddings:/SwarmUI/Models/Embeddings
# comfyui
- ./data/config/comfy/custom_nodes:/SwarmUI/dlbackend/ComfyUI/custom_nodes
# - ./data/models/configs:/SwarmUI/dlbackend/ComfyUI/user/default/ # TODO rm old
- ./data/config/configs:/SwarmUI/dlbackend/ComfyUI/user/default/
# output
- ./output/swarmui:/SwarmUI/Output
- ./output/swarmui/comfy:/SwarmUI/dlbackend/ComfyUI/output
environment:
- COMFYUI_PATH=/opt/comfyui
- COMFYUI_MODEL_PATH=/opt/comfyui/models

reforge: &reforge
<<: *base_service
profiles: ["reforge"]
build: ./services/reforge
image: sd-reforge:latest
environment:
- CLI_ARGS=--allow-code --xformers --enable-insecure-extension-access --api --pin-shared-memory --cuda-malloc --cuda-stream

forge: &forge
<<: *base_service
profiles: ["forge"]
build: ./services/forge
image: sd-forge:latest
environment:
- CLI_ARGS=--allow-code --xformers --enable-insecure-extension-access --api --pin-shared-memory --cuda-malloc --cuda-stream

fooocus: &fooocus
<<: *base_service
profiles: ["fooocus"]
image: simonmcnair/fooocus:master
build: ./services/fooocus/
image: sd-fooocus:latest
environment:
- CLI_ARGS=

ai-toolkit:
<<: *base_service
profiles: [ "ai-toolkit" ]
container_name: ai-toolkit
build: ./services/ai-toolkit
image: sd-aitoolkit:latest
ports:
- "8675:8675"
volumes:
- ./data/.cache/huggingface/hub:/root/.cache/huggingface/hub
# - ./data/aitk_db.db:/app/ai-toolkit/aitk_db.db
- ./data/datasets:/app/ai-toolkit/datasets
- ./data/config/ai-toolkit:/app/ai-toolkit/config
- ./data/models:/app/ai-toolkit/models
- ./output/ai-toolkit:/app/ai-toolkit/output
environment:
- AI_TOOLKIT_AUTH=${AI_TOOLKIT_AUTH:-password}
- NODE_ENV=production
- TZ=UTC
secrets:
- my_secret

secrets:
my_secret:
file: ./services/ai-toolkit/secret.env
Loading