mirror of
https://github.com/AbdBarho/stable-diffusion-webui-docker.git
synced 2026-01-07 01:00:46 +01:00
Add swarmui
This commit is contained in:
parent
b4941ea474
commit
68afd2b968
8
data/.gitignore
vendored
8
data/.gitignore
vendored
|
|
@ -1,6 +1,2 @@
|
||||||
/.cache
|
/*
|
||||||
/config
|
!/.gitignore
|
||||||
/embeddings
|
|
||||||
/models
|
|
||||||
/states
|
|
||||||
/convert
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
x-base_service: &base_service
|
x-base_service: &base_service
|
||||||
volumes:
|
|
||||||
- &v1 ./data:/data
|
|
||||||
- &v2 ./output:/output
|
|
||||||
stop_signal: SIGKILL
|
stop_signal: SIGKILL
|
||||||
tty: true
|
tty: true
|
||||||
|
restart: unless-stopped
|
||||||
deploy:
|
deploy:
|
||||||
resources:
|
resources:
|
||||||
# limits:
|
# limits:
|
||||||
|
|
@ -17,6 +15,17 @@ x-base_service: &base_service
|
||||||
device_ids: ['0']
|
device_ids: ['0']
|
||||||
capabilities: [compute, utility, gpu]
|
capabilities: [compute, utility, gpu]
|
||||||
|
|
||||||
|
x-auto_service: &auto_service
|
||||||
|
<<: *base_service
|
||||||
|
container_name: auto
|
||||||
|
build: ./services/AUTOMATIC1111
|
||||||
|
image: sd-auto:78
|
||||||
|
ports:
|
||||||
|
- "${WEBUI_PORT:-7860}:7860"
|
||||||
|
volumes:
|
||||||
|
- &v1 ./data:/data
|
||||||
|
- &v2 ./output:/output
|
||||||
|
|
||||||
name: webui-docker
|
name: webui-docker
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
@ -26,18 +35,14 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- *v1
|
- *v1
|
||||||
|
|
||||||
auto: &automatic
|
auto:
|
||||||
<<: *base_service
|
<<: *auto_service
|
||||||
profiles: ["auto"]
|
profiles: ["auto"]
|
||||||
build: ./services/AUTOMATIC1111
|
|
||||||
image: sd-auto:78
|
|
||||||
ports:
|
|
||||||
- "${WEBUI_PORT:-7860}:7860"
|
|
||||||
environment:
|
environment:
|
||||||
- CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api
|
- CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api
|
||||||
|
|
||||||
auto-cpu:
|
auto-cpu:
|
||||||
<<: *automatic
|
<<: *auto_service
|
||||||
profiles: ["auto-cpu"]
|
profiles: ["auto-cpu"]
|
||||||
deploy: {}
|
deploy: {}
|
||||||
ports:
|
ports:
|
||||||
|
|
@ -45,10 +50,17 @@ services:
|
||||||
environment:
|
environment:
|
||||||
- CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api
|
- 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
|
||||||
|
|
||||||
comfy: &comfy
|
comfy: &comfy
|
||||||
<<: *base_service
|
<<: *base_service
|
||||||
profiles: ["comfy"]
|
profiles: ["comfy"]
|
||||||
build: ./services/comfy/
|
container_name: comfy
|
||||||
|
build: ./services/comfy
|
||||||
image: sd-comfy:7
|
image: sd-comfy:7
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/models:/opt/comfyui/models
|
- ./data/models:/opt/comfyui/models
|
||||||
|
|
@ -72,15 +84,19 @@ services:
|
||||||
environment:
|
environment:
|
||||||
- CLI_ARGS=--cpu
|
- CLI_ARGS=--cpu
|
||||||
|
|
||||||
auto-full:
|
swarmui:
|
||||||
<<: *base_service
|
<<: *base_service
|
||||||
profiles: [ "full" ]
|
profiles: ["swarmui"]
|
||||||
build: ./services/AUTOMATIC1111
|
container_name: swarmui
|
||||||
image: sd-auto:78
|
build: ./services/swarmui
|
||||||
environment:
|
image: sd-swarmui
|
||||||
- CLI_ARGS=--allow-code --xformers --enable-insecure-extension-access --api
|
|
||||||
ports:
|
ports:
|
||||||
- "${WEBUI_PORT:-7860}:7860"
|
- "${SWARMUI_PORT:-7801}:7801"
|
||||||
|
volumes:
|
||||||
|
- ./data/swarmui:/SwarmUI/Data
|
||||||
|
# - "backend:/app/dlbackend"
|
||||||
|
- ./data/models:/SwarmUI/Models
|
||||||
|
- ./output/swarmui:/SwarmUI/Output
|
||||||
|
|
||||||
convertor:
|
convertor:
|
||||||
<<: *base_service
|
<<: *base_service
|
||||||
|
|
|
||||||
|
|
@ -2,5 +2,4 @@
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
echo "Running container as $USER"
|
echo "Running container as $USER"
|
||||||
echo "Running container as $USER..."
|
|
||||||
python convert_2_safetensors.py --source ./models/input --dest ./models/output --allow-pickle
|
python convert_2_safetensors.py --source ./models/input --dest ./models/output --allow-pickle
|
||||||
|
|
|
||||||
68
services/swarmui/Dockerfile
Normal file
68
services/swarmui/Dockerfile
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
ARG SWARMUI_VERSION=0.9.6-Beta
|
||||||
|
ARG DOTNET_VERSION=8.0-bookworm-slim
|
||||||
|
|
||||||
|
FROM mcr.microsoft.com/dotnet/sdk:${DOTNET_VERSION} AS build
|
||||||
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||||
|
ENV SWARM_PATH="/SwarmUI"
|
||||||
|
#ENV SWARM_PATH=/opt/swarmui
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/var/cache/apt \
|
||||||
|
apt-get update && \
|
||||||
|
apt-get install -y git
|
||||||
|
|
||||||
|
WORKDIR ${SWARM_PATH}
|
||||||
|
|
||||||
|
# Clones the SwarmUI repository and checks out the latest release
|
||||||
|
RUN git clone --depth=1 https://github.com/mcmonkeyprojects/SwarmUI.git ${SWARM_PATH} && \
|
||||||
|
cd ${SWARM_PATH} && \
|
||||||
|
git fetch origin ${SWARMUI_VERSION} && \
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
|
||||||
|
RUN dotnet build src/SwarmUI.csproj --configuration Release -o ./bin
|
||||||
|
|
||||||
|
# RUN
|
||||||
|
FROM mcr.microsoft.com/dotnet/aspnet:8.0-bookworm-slim
|
||||||
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||||
|
ENV SWARM_PATH="/SwarmUI"
|
||||||
|
#ENV SWARM_PATH=/opt/swarmui
|
||||||
|
ARG SWARMUI_USER_ID=1000
|
||||||
|
ARG SWARMUI_GROUP_ID=1000
|
||||||
|
|
||||||
|
ARG GPU_TYPE="nv"
|
||||||
|
ENV NVIDIA_VISIBLE_DEVICES=all
|
||||||
|
ENV CLI_ARGS=""
|
||||||
|
|
||||||
|
RUN addgroup --gid $SWARMUI_GROUP_ID swarmui && \
|
||||||
|
adduser --uid $SWARMUI_USER_ID --gid $SWARMUI_GROUP_ID --gecos "" --disabled-password swarmui
|
||||||
|
|
||||||
|
COPY --from=build ${SWARM_PATH} "${SWARM_PATH}/"
|
||||||
|
|
||||||
|
RUN mkdir -p "${SWARM_PATH}/Data" && \
|
||||||
|
chown -R swarmui:swarmui ${SWARM_PATH}
|
||||||
|
ENV HOME=${SWARM_PATH}
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/var/cache/apt \
|
||||||
|
apt update --assume-yes && \
|
||||||
|
apt install -y \
|
||||||
|
git \
|
||||||
|
wget \
|
||||||
|
build-essential \
|
||||||
|
python3.11 \
|
||||||
|
python3.11-venv \
|
||||||
|
python3.11-dev \
|
||||||
|
python3-pip \
|
||||||
|
ffmpeg \
|
||||||
|
libglib2.0-0 \
|
||||||
|
libgl1
|
||||||
|
|
||||||
|
WORKDIR ${SWARM_PATH}
|
||||||
|
|
||||||
|
USER swarmui
|
||||||
|
|
||||||
|
RUN chmod +x ${SWARM_PATH}/launchtools/comfy-install-linux.sh && \
|
||||||
|
${SWARM_PATH}/launchtools/comfy-install-linux.sh ${GPU_TYPE}
|
||||||
|
|
||||||
|
EXPOSE 7801
|
||||||
|
|
||||||
|
COPY entrypoint.sh /
|
||||||
|
ENTRYPOINT ["/entrypoint.sh", "--launch_mode", "none", "--host", "0.0.0.0"]
|
||||||
20
services/swarmui/entrypoint.sh
Normal file
20
services/swarmui/entrypoint.sh
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Ensure correct local path.
|
||||||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
cd "$SCRIPT_DIR"
|
||||||
|
|
||||||
|
# Add dotnet non-admin-install to path
|
||||||
|
export PATH="$SCRIPT_DIR/.dotnet:~/.dotnet:$PATH"
|
||||||
|
|
||||||
|
# Default env configuration, gets overwritten by the C# code's settings handler
|
||||||
|
export ASPNETCORE_ENVIRONMENT="Production"
|
||||||
|
export ASPNETCORE_URLS="http://*:7801"
|
||||||
|
# Actual runner.
|
||||||
|
cd "$HOME"
|
||||||
|
dotnet ./bin/SwarmUI.dll "$@"
|
||||||
|
|
||||||
|
# Exit code 42 means restart, anything else = don't.
|
||||||
|
if [ $? == 42 ]; then
|
||||||
|
. /entrypoint.sh "$@"
|
||||||
|
fi
|
||||||
Loading…
Reference in a new issue