From 3367764793ec4c15c60f9833551da046ab696a1e Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Thu, 16 Jan 2025 21:14:27 +0000 Subject: [PATCH 01/47] Update README.md updated readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 46b5630..14e8eeb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ +I have forked this as abdbarho hasn't been around for a while. I'm not great with git, Linux , docker or stable diffusion but I manage to get along a bit. Slowly. with more commits than it takes. + +I am happy to look at PR's as and when. Also happy to pass this back, as and whe, and if, they return. + + # Stable Diffusion WebUI Docker Run Stable Diffusion on your machine with a nice UI without any hassle! From 015f531c4c76cc343b0e3473b0829076b95e05a7 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Thu, 16 Jan 2025 21:16:13 +0000 Subject: [PATCH 02/47] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14e8eeb..01872d9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -I have forked this as abdbarho hasn't been around for a while. I'm not great with git, Linux , docker or stable diffusion but I manage to get along a bit. Slowly. with more commits than it takes. +I have forked this as AbdBarho hasn't been around for a while. I'm not great with git, Linux , docker or stable diffusion but I manage to get along a bit. Slowly. with more commits than it takes. I am happy to look at PR's as and when. Also happy to pass this back, as and whe, and if, they return. From 20b593f840d17c9e512e6984d75579df489a8783 Mon Sep 17 00:00:00 2001 From: Simon McNair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 20 Jan 2025 11:49:41 +0000 Subject: [PATCH 03/47] huggingface_guess was in incorrect location --- services/forge/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index d18f430..807f3ac 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -13,6 +13,7 @@ RUN . /clone.sh k-diffusion https://github.com/crowsonkb/k-diffusion.git ab527a9 RUN . /clone.sh clip-interrogator https://github.com/pharmapsychotic/clip-interrogator 2cf03aaf6e704197fd0dae7c7f96aa59cf1b11c9 RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-models 45c443b316737a4ab6e40413d7794a7f5657c19f RUN . /clone.sh stable-diffusion-webui-assets https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets.git 6f7db241d2f8ba7457bac5ca9753331f0c266917 +RUN . /clone.sh huggingface_guess https://github.com/lllyasviel/huggingface_guess.git 70942022b6bcd17d941c1b4172804175758618e2 FROM pytorch/pytorch:2.3.1-cuda12.1-cudnn8-runtime @@ -42,8 +43,8 @@ RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt # Clone and copy huggingface_guess module -RUN git clone https://github.com/lllyasviel/huggingface_guess.git /tmp/huggingface_guess && \ - cp -r /tmp/huggingface_guess/huggingface_guess ${ROOT}/huggingface_guess +#RUN git clone https://github.com/lllyasviel/huggingface_guess.git /tmp/huggingface_guess && \ +# cp -r /tmp/huggingface_guess/huggingface_guess ${ROOT}/huggingface_guess # Ensure torchvision is correctly installed RUN --mount=type=cache,target=/root/.cache/pip \ From ae30d6b0af580a0775310c93db4e2672c3c2bd72 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:02:33 +0000 Subject: [PATCH 04/47] Update Dockerfile pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime --- services/AUTOMATIC1111/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 047bc95..2d0559a 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -14,7 +14,8 @@ RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-mod RUN . /clone.sh stable-diffusion-webui-assets https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets 6f7db241d2f8ba7457bac5ca9753331f0c266917 -FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime +#FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime +FROM pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 From 9e86d3ea7078ac238eb9c10610f12c20cee9ee69 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:37:08 +0000 Subject: [PATCH 05/47] Update Dockerfile --- services/AUTOMATIC1111/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 2d0559a..e589afb 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -57,7 +57,7 @@ COPY . /docker RUN \ # mv ${ROOT}/style.css ${ROOT}/user.css && \ # one of the ugliest hacks I ever wrote \ - sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.10/site-packages/gradio/routes.py && \ + #sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.10/site-packages/gradio/routes.py && \ git config --global --add safe.directory '*' WORKDIR ${ROOT} From 56127109197fee55809940fa6378f9c0a8b19b26 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:41:41 +0000 Subject: [PATCH 06/47] Update Dockerfile --- services/AUTOMATIC1111/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index e589afb..b3e6d7e 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -14,8 +14,8 @@ RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-mod RUN . /clone.sh stable-diffusion-webui-assets https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets 6f7db241d2f8ba7457bac5ca9753331f0c266917 -#FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime -FROM pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime +FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime +#FROM pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 @@ -57,7 +57,7 @@ COPY . /docker RUN \ # mv ${ROOT}/style.css ${ROOT}/user.css && \ # one of the ugliest hacks I ever wrote \ - #sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.10/site-packages/gradio/routes.py && \ + sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.10/site-packages/gradio/routes.py && \ git config --global --add safe.directory '*' WORKDIR ${ROOT} From 8619e741270c621d5ebd142d201142492efb692e Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:56:30 +0000 Subject: [PATCH 07/47] Update Dockerfile --- services/AUTOMATIC1111/Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index b3e6d7e..026bd54 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -14,8 +14,8 @@ RUN . /clone.sh generative-models https://github.com/Stability-AI/generative-mod RUN . /clone.sh stable-diffusion-webui-assets https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets 6f7db241d2f8ba7457bac5ca9753331f0c266917 -FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime -#FROM pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime +#FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime +FROM pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 @@ -57,7 +57,8 @@ COPY . /docker RUN \ # mv ${ROOT}/style.css ${ROOT}/user.css && \ # one of the ugliest hacks I ever wrote \ - sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.10/site-packages/gradio/routes.py && \ + # updated from 3.10.to 3.11 + sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.11/site-packages/gradio/routes.py && \ git config --global --add safe.directory '*' WORKDIR ${ROOT} From bf55e214ac64bcd75f302602507cf9a068341e03 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Feb 2025 16:36:56 +0000 Subject: [PATCH 08/47] Update entrypoint.sh --- services/AUTOMATIC1111/entrypoint.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/AUTOMATIC1111/entrypoint.sh b/services/AUTOMATIC1111/entrypoint.sh index 35023af..3b4d92b 100755 --- a/services/AUTOMATIC1111/entrypoint.sh +++ b/services/AUTOMATIC1111/entrypoint.sh @@ -26,8 +26,8 @@ fi # copy models from original models folder mkdir -p /data/models/VAE-approx/ /data/models/karlo/ -rsync -a --info=NAME ${ROOT}/models/VAE-approx/ /data/models/VAE-approx/ -rsync -a --info=NAME ${ROOT}/models/karlo/ /data/models/karlo/ +rsync --info=NAME ${ROOT}/models/VAE-approx/ /data/models/VAE-approx/ +rsync --info=NAME ${ROOT}/models/karlo/ /data/models/karlo/ declare -A MOUNTS From 1fa117f333de996ca203ed64ec9cbaebaa849412 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Feb 2025 20:39:04 +0000 Subject: [PATCH 09/47] Update Dockerfile 1.10.1 --- services/AUTOMATIC1111/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 026bd54..54d41ba 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -31,7 +31,7 @@ WORKDIR / RUN --mount=type=cache,target=/root/.cache/pip \ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git && \ cd stable-diffusion-webui && \ - git reset --hard v1.10.0 && \ + git reset --hard v1.10.1 && \ pip install -r requirements_versions.txt RUN pip install --upgrade typing-extensions From cc08ed6a109881f95b41ad6adc6f5a7b7a351969 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 11:23:04 +0000 Subject: [PATCH 10/47] Update Dockerfile remove root user requirement --- services/AUTOMATIC1111/Dockerfile | 45 +++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 54d41ba..a33fb1d 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -24,8 +24,45 @@ RUN --mount=type=cache,target=/var/cache/apt \ # we need those apt-get install -y fonts-dejavu-core rsync git jq moreutils aria2 \ # extensions needs those - ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential + ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential \ + apt-get clean +ARG PUID=0 +ARG PGID=0 +ARG USER_HOME=/root +# set build args as container environment variables for entrypoint reference +ENV PUID=$PUID +ENV PGID=$PGID +ENV USER_HOME=$USER_HOME + +# if user home does not exist, create it +RUN mkdir -p "$USER_HOME" + +# home already exists, chown it +RUN chown -R "${PUID}:${PGID}" "$USER_HOME" + +# Only groupadd if we're non root +RUN if [ "$PGID" -ne "0" ]; then \ + echo non root group detected; \ + groupadd \ + --gid "$PGID" \ + stablediffusion ;\ + else \ + echo "root group detected" ; \ + fi + +# Only useradd if we're non root +RUN if [ "$PUID" -ne "0" ]; then \ + echo non root user detected; \ + useradd \ + --gid="$PGID" \ + --no-user-group \ + -M \ + --home "$USER_HOME" \ + stablediffusion ; \ + else \ + echo "root group detected" ; \ + fi WORKDIR / RUN --mount=type=cache,target=/root/.cache/pip \ @@ -36,9 +73,13 @@ RUN --mount=type=cache,target=/root/.cache/pip \ RUN pip install --upgrade typing-extensions +RUN chown -R "$PUID:$PGID" /stable-diffusion-webui + +# drop permissions (if build targets non root) +USER $PUID:$PGID ENV ROOT=/stable-diffusion-webui -COPY --from=download /repositories/ ${ROOT}/repositories/ +COPY --from=download --chown=${PUID}:${PGID} /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate RUN --mount=type=cache,target=/root/.cache/pip \ From b52f5c6f4bd6248c3a921dc31a4e3d0e13a4393a Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 11:26:04 +0000 Subject: [PATCH 11/47] Update entrypoint.sh remove root user --- services/AUTOMATIC1111/entrypoint.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/AUTOMATIC1111/entrypoint.sh b/services/AUTOMATIC1111/entrypoint.sh index 3b4d92b..e5b5bcb 100755 --- a/services/AUTOMATIC1111/entrypoint.sh +++ b/services/AUTOMATIC1111/entrypoint.sh @@ -31,7 +31,8 @@ rsync --info=NAME ${ROOT}/models/karlo/ /data/models/karlo/ declare -A MOUNTS -MOUNTS["/root/.cache"]="/data/.cache" +#MOUNTS["/root/.cache"]="/data/.cache" +MOUNTS["${USER_HOME}/.cache"]="/data/.cache" MOUNTS["${ROOT}/models"]="/data/models" MOUNTS["${ROOT}/embeddings"]="/data/embeddings" @@ -58,8 +59,7 @@ done echo "Installing extension dependencies (if any)" -# because we build our container as root: -chown -R root ~/.cache/ +chown -R $PUID:$PGID ~/.cache/ chmod 766 ~/.cache/ shopt -s nullglob From 66a1490c87bd95eba3c1e6012accec20cb953362 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 11:27:21 +0000 Subject: [PATCH 12/47] Update entrypoint.sh make output belong to user too --- services/AUTOMATIC1111/entrypoint.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/AUTOMATIC1111/entrypoint.sh b/services/AUTOMATIC1111/entrypoint.sh index e5b5bcb..4313803 100755 --- a/services/AUTOMATIC1111/entrypoint.sh +++ b/services/AUTOMATIC1111/entrypoint.sh @@ -62,6 +62,9 @@ echo "Installing extension dependencies (if any)" chown -R $PUID:$PGID ~/.cache/ chmod 766 ~/.cache/ +chown -R $PUID:$PGID /output +chmod 766 /output + shopt -s nullglob # For install.py, please refer to https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions#installpy list=(./extensions/*/install.py) From b642d3a7f25acaf1c12d2721cdca61a3251f11ee Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 11:34:35 +0000 Subject: [PATCH 13/47] Update Dockerfile fix --- services/AUTOMATIC1111/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index a33fb1d..3f2c893 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -24,7 +24,7 @@ RUN --mount=type=cache,target=/var/cache/apt \ # we need those apt-get install -y fonts-dejavu-core rsync git jq moreutils aria2 \ # extensions needs those - ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential \ + ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential && \ apt-get clean ARG PUID=0 From 18709fa51227d0394aae30a55b2c7253568cc44e Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 11:55:04 +0000 Subject: [PATCH 14/47] Update docker-compose.yml --- docker-compose.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 995427e..30db3ec 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,6 +20,7 @@ services: profiles: ["download"] volumes: - *v1 + auto: &automatic <<: *base_service profiles: ["auto"] @@ -27,6 +28,8 @@ services: image: sd-auto:80 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api + - PUID=1000 + - PGID=1000 forge: &forge <<: *base_service @@ -35,6 +38,8 @@ services: image: sd-forge:80 environment: - CLI_ARGS=--allow-code --xformers --enable-insecure-extension-access --api --pin-shared-memory --cuda-malloc --cuda-stream + - PUID=1000 + - PGID=1000 auto-cpu: <<: *automatic @@ -42,6 +47,9 @@ services: deploy: {} environment: - CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api + - PUID=1000 + - PGID=1000 + invoke: &invoke <<: *base_service profiles: ["invoke"] @@ -50,12 +58,16 @@ services: environment: - PRELOAD=true - CLI_ARGS=--xformers + - PUID=1000 + - PGID=1000 + # invoke-cpu: # <<: *invoke # profiles: ["invoke-cpu"] # environment: # - PRELOAD=true # - CLI_ARGS=--always_use_cpu + comfy: &comfy <<: *base_service profiles: ["comfy"] @@ -63,12 +75,17 @@ services: image: sd-comfy:6 environment: - CLI_ARGS= + - PUID=1000 + - PGID=1000 + comfy-cpu: <<: *comfy profiles: ["comfy-cpu"] deploy: {} environment: - CLI_ARGS=--cpu + - PUID=1000 + - PGID=1000 fooocus: &fooocus <<: *base_service @@ -76,4 +93,6 @@ services: build: ./services/fooocus/ image: sd-fooocus:3 environment: - - CLI_ARGS= \ No newline at end of file + - CLI_ARGS= + - PUID=1000 + - PGID=1000 From fe5caa90661dc3d17a553c2134093c5f26812290 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 12:06:54 +0000 Subject: [PATCH 15/47] Discard changes to docker-compose.yml --- docker-compose.yml | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 30db3ec..995427e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,7 +20,6 @@ services: profiles: ["download"] volumes: - *v1 - auto: &automatic <<: *base_service profiles: ["auto"] @@ -28,8 +27,6 @@ services: image: sd-auto:80 environment: - CLI_ARGS=--allow-code --medvram --xformers --enable-insecure-extension-access --api - - PUID=1000 - - PGID=1000 forge: &forge <<: *base_service @@ -38,8 +35,6 @@ services: image: sd-forge:80 environment: - CLI_ARGS=--allow-code --xformers --enable-insecure-extension-access --api --pin-shared-memory --cuda-malloc --cuda-stream - - PUID=1000 - - PGID=1000 auto-cpu: <<: *automatic @@ -47,9 +42,6 @@ services: deploy: {} environment: - CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api - - PUID=1000 - - PGID=1000 - invoke: &invoke <<: *base_service profiles: ["invoke"] @@ -58,16 +50,12 @@ services: environment: - PRELOAD=true - CLI_ARGS=--xformers - - PUID=1000 - - PGID=1000 - # invoke-cpu: # <<: *invoke # profiles: ["invoke-cpu"] # environment: # - PRELOAD=true # - CLI_ARGS=--always_use_cpu - comfy: &comfy <<: *base_service profiles: ["comfy"] @@ -75,17 +63,12 @@ services: image: sd-comfy:6 environment: - CLI_ARGS= - - PUID=1000 - - PGID=1000 - comfy-cpu: <<: *comfy profiles: ["comfy-cpu"] deploy: {} environment: - CLI_ARGS=--cpu - - PUID=1000 - - PGID=1000 fooocus: &fooocus <<: *base_service @@ -93,6 +76,4 @@ services: build: ./services/fooocus/ image: sd-fooocus:3 environment: - - CLI_ARGS= - - PUID=1000 - - PGID=1000 + - CLI_ARGS= \ No newline at end of file From 268892366134d0850752d116c5eeca1b1846209b Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 12:21:46 +0000 Subject: [PATCH 16/47] Update Dockerfile add non root --- services/forge/Dockerfile | 49 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index 807f3ac..79f4497 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -25,7 +25,45 @@ RUN --mount=type=cache,target=/var/cache/apt \ # we need those apt-get install -y fonts-dejavu-core rsync git jq moreutils aria2 \ # extensions needs those - ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential + ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential && \ + apt-get clean + +ARG PUID=0 +ARG PGID=0 +ARG USER_HOME=/root +# set build args as container environment variables for entrypoint reference +ENV PUID=$PUID +ENV PGID=$PGID +ENV USER_HOME=$USER_HOME + +# if user home does not exist, create it +RUN mkdir -p "$USER_HOME" + +# home already exists, chown it +RUN chown -R "${PUID}:${PGID}" "$USER_HOME" + +# Only groupadd if we're non root +RUN if [ "$PGID" -ne "0" ]; then \ + echo non root group detected; \ + groupadd \ + --gid "$PGID" \ + stablediffusion ;\ + else \ + echo "root group detected" ; \ + fi + +# Only useradd if we're non root +RUN if [ "$PUID" -ne "0" ]; then \ + echo non root user detected; \ + useradd \ + --gid="$PGID" \ + --no-user-group \ + -M \ + --home "$USER_HOME" \ + stablediffusion ; \ + else \ + echo "root group detected" ; \ + fi WORKDIR / @@ -35,9 +73,14 @@ RUN --mount=type=cache,target=/root/.cache/pip \ sed -i '/torch/d' requirements_versions.txt && \ pip install -r requirements_versions.txt +RUN chown -R "$PUID:$PGID" /stable-diffusion-webui + +# drop permissions (if build targets non root) +USER $PUID:$PGID + ENV ROOT=/stable-diffusion-webui-forge -COPY --from=download /repositories/ ${ROOT}/repositories/ +COPY --from=download --chown=${PUID}:${PGID} /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt @@ -73,4 +116,4 @@ ENV NVIDIA_VISIBLE_DEVICES=all ENV CLI_ARGS="" EXPOSE 7860 ENTRYPOINT ["/docker/entrypoint.sh"] -CMD python -u webui.py --listen --port 7860 ${CLI_ARGS} \ No newline at end of file +CMD python -u webui.py --listen --port 7860 ${CLI_ARGS} From c1c52f5e538d238e894091774120c06f8e4a9484 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 12:23:41 +0000 Subject: [PATCH 17/47] Update entrypoint.sh non root --- services/forge/entrypoint.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/services/forge/entrypoint.sh b/services/forge/entrypoint.sh index 6532393..110ed98 100755 --- a/services/forge/entrypoint.sh +++ b/services/forge/entrypoint.sh @@ -31,7 +31,7 @@ rsync -a --info=NAME ${ROOT}/models/karlo/ /data/models/karlo/ declare -A MOUNTS -MOUNTS["/root/.cache"]="/data/.cache" +MOUNTS["${USER_HOME}/.cache"]="/data/.cache" MOUNTS["${ROOT}/models"]="/data/models" MOUNTS["${ROOT}/embeddings"]="/data/embeddings" @@ -56,11 +56,12 @@ for to_path in "${!MOUNTS[@]}"; do echo Mounted $(basename "${from_path}") done -echo "Installing extension dependencies (if any)" - -# because we build our container as root: -chown -R root ~/.cache/ +chown -R $PUID:$PGID ~/.cache/ chmod 766 ~/.cache/ +chown -R $PUID:$PGID /output +chmod 766 /output + +echo "Installing extension dependencies (if any)" shopt -s nullglob # For install.py, please refer to https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Developing-extensions#installpy From 321046928469f72d6bd73140fd70579ab2287706 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 12:28:52 +0000 Subject: [PATCH 18/47] Update Dockerfile oops --- services/forge/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index 79f4497..dd69f92 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -73,7 +73,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ sed -i '/torch/d' requirements_versions.txt && \ pip install -r requirements_versions.txt -RUN chown -R "$PUID:$PGID" /stable-diffusion-webui +RUN chown -R "$PUID:$PGID" /stable-diffusion-webui-forge # drop permissions (if build targets non root) USER $PUID:$PGID From dd08166d5e94afef5a32062977e18922513a7dcd Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 13:52:58 +0000 Subject: [PATCH 19/47] Update Dockerfile --- services/AUTOMATIC1111/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 3f2c893..90d3cd1 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -24,7 +24,7 @@ RUN --mount=type=cache,target=/var/cache/apt \ # we need those apt-get install -y fonts-dejavu-core rsync git jq moreutils aria2 \ # extensions needs those - ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential && \ + ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential libgoogle-perftools-dev && \ apt-get clean ARG PUID=0 From dd4791cf0aef1ed28bf3e40afeb9336018e52c04 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 13:53:18 +0000 Subject: [PATCH 20/47] Update Dockerfile --- services/forge/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index dd69f92..5c32b72 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -25,7 +25,7 @@ RUN --mount=type=cache,target=/var/cache/apt \ # we need those apt-get install -y fonts-dejavu-core rsync git jq moreutils aria2 \ # extensions needs those - ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential && \ + ffmpeg libglfw3-dev libgles2-mesa-dev pkg-config libcairo2 libcairo2-dev build-essential libgoogle-perftools-dev && \ apt-get clean ARG PUID=0 From b336cbc064db31d169ae790e16ee48487c86a7a0 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:20:43 +0000 Subject: [PATCH 21/47] Update Dockerfile no root changes --- services/comfy/Dockerfile | 44 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index 2de504d..47b24c9 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -2,10 +2,50 @@ FROM pytorch/pytorch:2.3.0-cuda12.1-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 -RUN apt-get update && apt-get install -y git && apt-get clean +RUN apt-get update && apt-get install -y git libgoogle-perftools-dev && apt-get clean + +ARG PUID=0 +ARG PGID=0 +ARG USER_HOME=/root +# set build args as container environment variables for entrypoint reference +ENV PUID=$PUID +ENV PGID=$PGID +ENV USER_HOME=$USER_HOME + +# if user home does not exist, create it +RUN mkdir -p "$USER_HOME" + +# home already exists, chown it +RUN chown -R "${PUID}:${PGID}" "$USER_HOME" + +# Only groupadd if we're non root +RUN if [ "$PGID" -ne "0" ]; then \ + echo non root group detected; \ + groupadd \ + --gid "$PGID" \ + stablediffusion ;\ + else \ + echo "root group detected" ; \ + fi + +# Only useradd if we're non root +RUN if [ "$PUID" -ne "0" ]; then \ + echo non root user detected; \ + useradd \ + --gid="$PGID" \ + --no-user-group \ + -M \ + --home "$USER_HOME" \ + stablediffusion ; \ + else \ + echo "root group detected" ; \ + fi + +RUN chown -R "$PUID:$PGID" /stable-diffusion +USER $PUID:$PGID ENV ROOT=/stable-diffusion -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target="$USER_HOME"/.cache/pip \ git clone https://github.com/comfyanonymous/ComfyUI.git ${ROOT} && \ cd ${ROOT} && \ git checkout master && \ From 40e1e818beba5edcf8452f972a8a865ff5876245 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:22:09 +0000 Subject: [PATCH 22/47] Update entrypoint.sh no_root --- services/comfy/entrypoint.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/services/comfy/entrypoint.sh b/services/comfy/entrypoint.sh index b4299a7..b94ac10 100755 --- a/services/comfy/entrypoint.sh +++ b/services/comfy/entrypoint.sh @@ -6,7 +6,7 @@ mkdir -vp /data/config/comfy/custom_nodes declare -A MOUNTS -MOUNTS["/root/.cache"]="/data/.cache" +MOUNTS["${USER_HOME}/.cache"]="/data/.cache" MOUNTS["${ROOT}/input"]="/data/config/comfy/input" MOUNTS["${ROOT}/output"]="/output/comfy" @@ -28,4 +28,9 @@ if [ -f "/data/config/comfy/startup.sh" ]; then popd fi +chown -R root ~/.cache/ +chmod 766 ~/.cache/ +chown -R $PUID:$PGID ~/.cache/ +chmod 776 ~/.cache/ + exec "$@" From 8c3649469b5f5000be49b0a3774f6d5eb4c8efaf Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:27:18 +0000 Subject: [PATCH 23/47] Update Dockerfile no_root --- services/fooocus/Dockerfile | 52 ++++++++++++++++++++++++++++++++----- 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/services/fooocus/Dockerfile b/services/fooocus/Dockerfile index 1892f6b..35ad916 100644 --- a/services/fooocus/Dockerfile +++ b/services/fooocus/Dockerfile @@ -6,17 +6,57 @@ FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 -RUN apt-get update && apt-get install -y git && apt-get clean +RUN apt-get update && apt-get install -y git libglib2.0-0 libgl1-mesa-glx python-dev libgoogle-perftools-dev && apt-get clean + +ARG PUID=0 +ARG PGID=0 +ARG USER_HOME=/root +# set build args as container environment variables for entrypoint reference +ENV PUID=$PUID +ENV PGID=$PGID +ENV USER_HOME=$USER_HOME + +# if user home does not exist, create it +RUN mkdir -p "$USER_HOME" + +# home already exists, chown it +RUN chown -R "${PUID}:${PGID}" "$USER_HOME" + +# Only groupadd if we're non root +RUN if [ "$PGID" -ne "0" ]; then \ + echo non root group detected; \ + groupadd \ + --gid "$PGID" \ + stablediffusion ;\ + else \ + echo "root group detected" ; \ + fi + +# Only useradd if we're non root +RUN if [ "$PUID" -ne "0" ]; then \ + echo non root user detected; \ + useradd \ + --gid="$PGID" \ + --no-user-group \ + -M \ + --home "$USER_HOME" \ + stablediffusion ; \ + else \ + echo "root group detected" ; \ + fi + -# add in required packages -RUN apt-get install 'libglib2.0-0' -y -RUN apt-get install 'libgl1-mesa-glx' -y -RUN apt-get install 'python-dev' -y # set this to your target branch commit ARG BRANCH=main SHA=e2f9bcb11d06216d6800676c48d8d74d6fd77a4b ENV ROOT=/stable-diffusion + +RUN chown -R "$PUID:$PGID" /stable-diffusion-webui + +# drop permissions (if build targets non root) +USER $PUID:$PGID + RUN --mount=type=cache,target=/root/.cache/pip \ git clone https://github.com/lllyasviel/Fooocus.git ${ROOT} && \ cd ${ROOT} && \ @@ -38,7 +78,7 @@ RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r requirements_versions.txt # add info -COPY . /docker/ +COPY --chown=$PUID:$PGID . /docker RUN cp /docker/config.txt ${ROOT} RUN chmod u+x /docker/entrypoint.sh From d5af00119af1250890d231597e4e7e71bab4ae3a Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:29:31 +0000 Subject: [PATCH 24/47] Update Dockerfile --- services/AUTOMATIC1111/Dockerfile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 90d3cd1..b1b9f84 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -65,7 +65,7 @@ RUN if [ "$PUID" -ne "0" ]; then \ fi WORKDIR / -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git && \ cd stable-diffusion-webui && \ git reset --hard v1.10.1 && \ @@ -82,7 +82,7 @@ ENV ROOT=/stable-diffusion-webui COPY --from=download --chown=${PUID}:${PGID} /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ pip install pyngrok xformers==0.0.26.post1 \ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ @@ -90,11 +90,10 @@ RUN --mount=type=cache,target=/root/.cache/pip \ # there seems to be a memory leak (or maybe just memory not being freed fast enough) that is fixed by this version of malloc # maybe move this up to the dependencies list. -RUN apt-get -y install libgoogle-perftools-dev && apt-get clean ENV LD_PRELOAD=libtcmalloc.so COPY . /docker - +COPY --chown=$PUID:$PGID . /docker RUN \ # mv ${ROOT}/style.css ${ROOT}/user.css && \ # one of the ugliest hacks I ever wrote \ From 1e34142322003ab0e4f443f9a169aae0346ba77c Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:34:20 +0000 Subject: [PATCH 25/47] Update Dockerfile no root --- services/forge/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index 5c32b72..a0c676d 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -67,7 +67,7 @@ RUN if [ "$PUID" -ne "0" ]; then \ WORKDIR / -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git && \ cd stable-diffusion-webui-forge && \ sed -i '/torch/d' requirements_versions.txt && \ @@ -90,17 +90,17 @@ RUN --mount=type=cache,target=/root/.cache/pip \ # cp -r /tmp/huggingface_guess/huggingface_guess ${ROOT}/huggingface_guess # Ensure torchvision is correctly installed -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ pip install torchvision==0.18.1 -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ pip install pyngrok xformers==0.0.27 pytorch_lightning torchdiffeq torchsde \ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ git+https://github.com/mlfoundations/open_clip.git@v2.20.0 # there seems to be a memory leak (or maybe just memory not being freed fast enough) that is fixed by this version of malloc # maybe move this up to the dependencies list. -RUN apt-get -y install libgoogle-perftools-dev && apt-get clean + ENV LD_PRELOAD=libtcmalloc.so COPY . /docker From d2ec770e8b459ecb62acac55610aea942bb98cc4 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:36:59 +0000 Subject: [PATCH 26/47] Update Dockerfile --- services/AUTOMATIC1111/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index b1b9f84..8f6b91d 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -92,7 +92,6 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ # maybe move this up to the dependencies list. ENV LD_PRELOAD=libtcmalloc.so -COPY . /docker COPY --chown=$PUID:$PGID . /docker RUN \ # mv ${ROOT}/style.css ${ROOT}/user.css && \ From 7e35f1384675e1b254c979398341b3236b377a0d Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:37:41 +0000 Subject: [PATCH 27/47] Update Dockerfile --- services/comfy/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index 47b24c9..ec63220 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -53,7 +53,7 @@ RUN --mount=type=cache,target="$USER_HOME"/.cache/pip \ pip install -r requirements.txt WORKDIR ${ROOT} -COPY . /docker/ +COPY --chown=$PUID:$PGID . /docker RUN chmod u+x /docker/entrypoint.sh && cp /docker/extra_model_paths.yaml ${ROOT} ENV NVIDIA_VISIBLE_DEVICES=all PYTHONPATH="${PYTHONPATH}:${PWD}" CLI_ARGS="" From 04a09cb31c823a5c1e361df4e1e218b732eb689f Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:38:28 +0000 Subject: [PATCH 28/47] Update entrypoint.sh --- services/comfy/entrypoint.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/services/comfy/entrypoint.sh b/services/comfy/entrypoint.sh index b94ac10..f10eb66 100755 --- a/services/comfy/entrypoint.sh +++ b/services/comfy/entrypoint.sh @@ -28,8 +28,6 @@ if [ -f "/data/config/comfy/startup.sh" ]; then popd fi -chown -R root ~/.cache/ -chmod 766 ~/.cache/ chown -R $PUID:$PGID ~/.cache/ chmod 776 ~/.cache/ From 658ac3337180986c600952b4f04e972087cf196c Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:39:20 +0000 Subject: [PATCH 29/47] Update Dockerfile --- services/forge/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index a0c676d..3256e9c 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -103,7 +103,7 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ ENV LD_PRELOAD=libtcmalloc.so -COPY . /docker +COPY --chown=$PUID:$PGID . /docker RUN \ # mv ${ROOT}/style.css ${ROOT}/user.css && \ From 8efc56d3ad8b149ca82ef9db3f2731e3a1cf4f0e Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:44:58 +0000 Subject: [PATCH 30/47] Update Dockerfile --- services/forge/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index 3256e9c..c3e6f4a 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -82,7 +82,7 @@ ENV ROOT=/stable-diffusion-webui-forge COPY --from=download --chown=${PUID}:${PGID} /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt # Clone and copy huggingface_guess module From 4bd3e0bed28bc27ed1d3f2427e6fa9a66479023c Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:48:31 +0000 Subject: [PATCH 31/47] Update Dockerfile --- services/fooocus/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/fooocus/Dockerfile b/services/fooocus/Dockerfile index 35ad916..890292b 100644 --- a/services/fooocus/Dockerfile +++ b/services/fooocus/Dockerfile @@ -57,7 +57,7 @@ RUN chown -R "$PUID:$PGID" /stable-diffusion-webui # drop permissions (if build targets non root) USER $PUID:$PGID -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ git clone https://github.com/lllyasviel/Fooocus.git ${ROOT} && \ cd ${ROOT} && \ git checkout ${BRANCH} && \ @@ -65,13 +65,13 @@ RUN --mount=type=cache,target=/root/.cache/pip \ pip install -r requirements_versions.txt -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ --mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.21-cp310-cp310-linux_x86_64.whl \ pip install /xformers-0.0.21-cp310-cp310-linux_x86_64.whl WORKDIR ${ROOT} -RUN --mount=type=cache,target=/root/.cache/pip \ +RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ git fetch && \ git checkout ${BRANCH} && \ git reset --hard ${SHA} && \ From 07fc05329676ae5e1ace7f755a73c77e135f5380 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:50:08 +0000 Subject: [PATCH 32/47] Update Dockerfile --- services/download/Dockerfile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/services/download/Dockerfile b/services/download/Dockerfile index a95ad03..78c11ee 100644 --- a/services/download/Dockerfile +++ b/services/download/Dockerfile @@ -1,6 +1,12 @@ FROM bash:alpine3.19 +ARG PUID=0 +ARG PGID=0 +# set build args as container environment variables for entrypoint reference +ENV PUID=$PUID +ENV PGID=$PGID + RUN apk update && apk add parallel aria2 -COPY . /docker +COPY --chown=$PUID:$PGID . /docker RUN chmod +x /docker/download.sh ENTRYPOINT ["/docker/download.sh"] From 6030daac7a2259f07310c14da2fae3111d51b21f Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:53:41 +0000 Subject: [PATCH 33/47] Update docker-compose.yml remove outdated invoke --- docker-compose.yml | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 995427e..46c17b0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -42,20 +42,7 @@ services: deploy: {} environment: - CLI_ARGS=--no-half --precision full --allow-code --enable-insecure-extension-access --api - invoke: &invoke - <<: *base_service - profiles: ["invoke"] - build: ./services/invoke/ - image: sd-invoke:30 - environment: - - PRELOAD=true - - CLI_ARGS=--xformers - # invoke-cpu: - # <<: *invoke - # profiles: ["invoke-cpu"] - # environment: - # - PRELOAD=true - # - CLI_ARGS=--always_use_cpu + comfy: &comfy <<: *base_service profiles: ["comfy"] @@ -63,6 +50,7 @@ services: image: sd-comfy:6 environment: - CLI_ARGS= + comfy-cpu: <<: *comfy profiles: ["comfy-cpu"] @@ -76,4 +64,4 @@ services: build: ./services/fooocus/ image: sd-fooocus:3 environment: - - CLI_ARGS= \ No newline at end of file + - CLI_ARGS= From 7a1a86e168094eeea9c8df74a8b097df11289a1e Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:11:07 +0000 Subject: [PATCH 34/47] Update Dockerfile fix chmod and make consistent --- services/AUTOMATIC1111/Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 8f6b91d..f14f93f 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -65,8 +65,10 @@ RUN if [ "$PUID" -ne "0" ]; then \ fi WORKDIR / +ENV ROOT=/stable-diffusion-webui + RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ - git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git && \ + git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ${ROOT} && \ cd stable-diffusion-webui && \ git reset --hard v1.10.1 && \ pip install -r requirements_versions.txt @@ -77,7 +79,7 @@ RUN chown -R "$PUID:$PGID" /stable-diffusion-webui # drop permissions (if build targets non root) USER $PUID:$PGID -ENV ROOT=/stable-diffusion-webui + COPY --from=download --chown=${PUID}:${PGID} /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate From 48955a1a98a2f867a88bcaf8cd777bf1282f93e0 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:12:25 +0000 Subject: [PATCH 35/47] Update Dockerfile fix chmod --- services/comfy/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index ec63220..3984675 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -41,7 +41,6 @@ RUN if [ "$PUID" -ne "0" ]; then \ echo "root group detected" ; \ fi -RUN chown -R "$PUID:$PGID" /stable-diffusion USER $PUID:$PGID ENV ROOT=/stable-diffusion @@ -52,6 +51,8 @@ RUN --mount=type=cache,target="$USER_HOME"/.cache/pip \ git reset --hard 276f8fce9f5a80b500947fb5745a4dde9e84622d && \ pip install -r requirements.txt +RUN chown -R "$PUID:$PGID" "${ROOT}" + WORKDIR ${ROOT} COPY --chown=$PUID:$PGID . /docker RUN chmod u+x /docker/entrypoint.sh && cp /docker/extra_model_paths.yaml ${ROOT} From 317055ffa0b2be21369c7f611d90ae69c931fd9d Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:12:46 +0000 Subject: [PATCH 36/47] Update Dockerfile --- services/AUTOMATIC1111/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index f14f93f..b0b0792 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -75,7 +75,7 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ RUN pip install --upgrade typing-extensions -RUN chown -R "$PUID:$PGID" /stable-diffusion-webui +RUN chown -R "$PUID:$PGID" "${ROOT}" # drop permissions (if build targets non root) USER $PUID:$PGID From 7606b126100006f3d0ccf27120055e1d4766c2d8 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:13:23 +0000 Subject: [PATCH 37/47] Update Dockerfile --- services/fooocus/Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/services/fooocus/Dockerfile b/services/fooocus/Dockerfile index 890292b..c3a77fb 100644 --- a/services/fooocus/Dockerfile +++ b/services/fooocus/Dockerfile @@ -45,14 +45,12 @@ RUN if [ "$PUID" -ne "0" ]; then \ echo "root group detected" ; \ fi - - # set this to your target branch commit ARG BRANCH=main SHA=e2f9bcb11d06216d6800676c48d8d74d6fd77a4b ENV ROOT=/stable-diffusion -RUN chown -R "$PUID:$PGID" /stable-diffusion-webui +RUN chown -R "$PUID:$PGID" "${ROOT}" # drop permissions (if build targets non root) USER $PUID:$PGID From 0f94b77773f93c65e2e8b19643a581dfb9f95e8f Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:14:20 +0000 Subject: [PATCH 38/47] Update Dockerfile --- services/forge/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index c3e6f4a..2134893 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -65,6 +65,7 @@ RUN if [ "$PUID" -ne "0" ]; then \ echo "root group detected" ; \ fi +ENV ROOT=/stable-diffusion-webui-forge WORKDIR / RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ @@ -73,12 +74,11 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ sed -i '/torch/d' requirements_versions.txt && \ pip install -r requirements_versions.txt -RUN chown -R "$PUID:$PGID" /stable-diffusion-webui-forge +RUN chown -R "$PUID:$PGID" "${ROOT}" # drop permissions (if build targets non root) USER $PUID:$PGID -ENV ROOT=/stable-diffusion-webui-forge COPY --from=download --chown=${PUID}:${PGID} /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate From afcef580cc97c6113ff1eca3b1b0ad2c85e6596f Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:15:04 +0000 Subject: [PATCH 39/47] Update docker.yml add additional interfaces --- .github/workflows/docker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index db5d840..1790590 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -16,6 +16,8 @@ jobs: - auto - comfy - download + - fooocus + - forge runs-on: ubuntu-latest name: ${{ matrix.profile }} steps: From 3e25d0a77c17e4e2e89d9612726233aad9c63427 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:19:25 +0000 Subject: [PATCH 40/47] Update Dockerfile fix chown --- services/fooocus/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/fooocus/Dockerfile b/services/fooocus/Dockerfile index c3a77fb..08b9b5f 100644 --- a/services/fooocus/Dockerfile +++ b/services/fooocus/Dockerfile @@ -50,7 +50,6 @@ ARG BRANCH=main SHA=e2f9bcb11d06216d6800676c48d8d74d6fd77a4b ENV ROOT=/stable-diffusion -RUN chown -R "$PUID:$PGID" "${ROOT}" # drop permissions (if build targets non root) USER $PUID:$PGID @@ -62,6 +61,7 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ git reset --hard ${SHA} && \ pip install -r requirements_versions.txt +RUN chown -R "$PUID:$PGID" "${ROOT}" RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ --mount=type=bind,from=xformers,source=/wheel.whl,target=/xformers-0.0.21-cp310-cp310-linux_x86_64.whl \ From f4d803ac8ff4ecc7bb812a99175c0c8ed899a30a Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:32:39 +0000 Subject: [PATCH 41/47] Update docker.yml try building images --- .github/workflows/docker.yml | 60 +++++++++++++++++++++++++++++++----- 1 file changed, 52 insertions(+), 8 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 1790590..9f67e40 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -12,14 +12,58 @@ jobs: build: strategy: matrix: - profile: - - auto - - comfy - - download - - fooocus - - forge + include: + - image: simonmcnair/AUTOMATIC1111 + dockerfile: services/AUTOMATIC1111/Dockerfile + context: services/AUTOMATIC1111/ + + - image: simonmcnair/comfy + dockerfile: services/comfy/Dockerfile + context: services/comfy/ + + - image: simonmcnair/download + dockerfile: services/download/Dockerfile + context: services/download/ + + - image: simonmcnair/fooocus + dockerfile: services/fooocus/Dockerfile + context: services/fooocus/ + + - image: simonmcnair/forge + dockerfile: services/forge/Dockerfile + context: services/forge/ + runs-on: ubuntu-latest name: ${{ matrix.profile }} steps: - - uses: actions/checkout@v3 - - run: docker compose --profile ${{ matrix.profile }} build --progress plain + # - uses: actions/checkout@v3 + # - run: docker compose --profile ${{ matrix.profile }} build --progress plain + + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: ${{ matrix.image }} + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: ${{ matrix.context }} + file: ${{ matrix.dockerfile }} + push: true + #This is needed because it is called main instead of master to get the latest tag in docker + tags: | + # set latest tag for default branch + type=raw,value=latest,enable={{is_default_branch}} + #tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} From 85ffaee78c0fdf7fdf631021feb0847efba4baef Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:34:48 +0000 Subject: [PATCH 42/47] Update docker.yml --- .github/workflows/docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 9f67e40..7315f94 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -48,8 +48,8 @@ jobs: - name: Login to DockerHub uses: docker/login-action@v1 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 From 5b8136312713b0c33faddfda4027f13c548a860f Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 21:37:28 +0000 Subject: [PATCH 43/47] Update docker.yml --- .github/workflows/docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 7315f94..665c9c0 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -62,8 +62,8 @@ jobs: file: ${{ matrix.dockerfile }} push: true #This is needed because it is called main instead of master to get the latest tag in docker - tags: | + # tags: | # set latest tag for default branch - type=raw,value=latest,enable={{is_default_branch}} - #tags: ${{ steps.meta.outputs.tags }} + # type=raw,value=latest,enable={{is_default_branch}} + tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From 8f74cec7f91914e91ff9a42976531cef878b8664 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 22:18:55 +0000 Subject: [PATCH 44/47] Update Dockerfile sed needs root for the dir it's in --- services/forge/Dockerfile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index 2134893..d9464f4 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -76,6 +76,12 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ RUN chown -R "$PUID:$PGID" "${ROOT}" +RUN \ + # mv ${ROOT}/style.css ${ROOT}/user.css && \ + # one of the ugliest hacks I ever wrote \ + sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.10/site-packages/gradio/routes.py && \ + git config --global --add safe.directory '*' + # drop permissions (if build targets non root) USER $PUID:$PGID @@ -105,11 +111,6 @@ ENV LD_PRELOAD=libtcmalloc.so COPY --chown=$PUID:$PGID . /docker -RUN \ - # mv ${ROOT}/style.css ${ROOT}/user.css && \ - # one of the ugliest hacks I ever wrote \ - sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.10/site-packages/gradio/routes.py && \ - git config --global --add safe.directory '*' WORKDIR ${ROOT} ENV NVIDIA_VISIBLE_DEVICES=all From c5c5b2b6f028105a5e75a6ee31f735c5c1f71fe1 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 22:19:20 +0000 Subject: [PATCH 45/47] Update Dockerfile --- services/AUTOMATIC1111/Dockerfile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index b0b0792..72e6a20 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -77,6 +77,13 @@ RUN pip install --upgrade typing-extensions RUN chown -R "$PUID:$PGID" "${ROOT}" +RUN \ + # mv ${ROOT}/style.css ${ROOT}/user.css && \ + # one of the ugliest hacks I ever wrote \ + # updated from 3.10.to 3.11 + sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.11/site-packages/gradio/routes.py && \ + git config --global --add safe.directory '*' + # drop permissions (if build targets non root) USER $PUID:$PGID @@ -95,12 +102,6 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ ENV LD_PRELOAD=libtcmalloc.so COPY --chown=$PUID:$PGID . /docker -RUN \ - # mv ${ROOT}/style.css ${ROOT}/user.css && \ - # one of the ugliest hacks I ever wrote \ - # updated from 3.10.to 3.11 - sed -i 's/in_app_dir = .*/in_app_dir = True/g' /opt/conda/lib/python3.11/site-packages/gradio/routes.py && \ - git config --global --add safe.directory '*' WORKDIR ${ROOT} ENV NVIDIA_VISIBLE_DEVICES=all From bfd834d8be4b43a77d5518ed2d59e7898135edc1 Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 23:19:46 +0000 Subject: [PATCH 46/47] Update Dockerfile testing --- services/AUTOMATIC1111/Dockerfile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/services/AUTOMATIC1111/Dockerfile b/services/AUTOMATIC1111/Dockerfile index 72e6a20..8cafbd2 100644 --- a/services/AUTOMATIC1111/Dockerfile +++ b/services/AUTOMATIC1111/Dockerfile @@ -67,7 +67,7 @@ RUN if [ "$PUID" -ne "0" ]; then \ WORKDIR / ENV ROOT=/stable-diffusion-webui -RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ +RUN --mount=type=cache,target=/root/.cache/sd \ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ${ROOT} && \ cd stable-diffusion-webui && \ git reset --hard v1.10.1 && \ @@ -75,7 +75,6 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ RUN pip install --upgrade typing-extensions -RUN chown -R "$PUID:$PGID" "${ROOT}" RUN \ # mv ${ROOT}/style.css ${ROOT}/user.css && \ @@ -85,13 +84,13 @@ RUN \ git config --global --add safe.directory '*' # drop permissions (if build targets non root) -USER $PUID:$PGID +#USER $PUID:$PGID COPY --from=download --chown=${PUID}:${PGID} /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate -RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ +RUN --mount=type=cache,target=/root/.cache/repos \ pip install pyngrok xformers==0.0.26.post1 \ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ @@ -101,7 +100,9 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ # maybe move this up to the dependencies list. ENV LD_PRELOAD=libtcmalloc.so -COPY --chown=$PUID:$PGID . /docker +COPY . /docker +RUN chown -R "$PUID:$PGID" "${ROOT}" +RUN chown -R "$PUID:$PGID" /docker WORKDIR ${ROOT} ENV NVIDIA_VISIBLE_DEVICES=all From 56564585a134fdc7b2b26921f25f31d18f8bcf9d Mon Sep 17 00:00:00 2001 From: simonmcnair <101189766+simonmcnair@users.noreply.github.com> Date: Mon, 10 Mar 2025 23:22:40 +0000 Subject: [PATCH 47/47] Update Dockerfile test --- services/forge/Dockerfile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/services/forge/Dockerfile b/services/forge/Dockerfile index d9464f4..038b2f7 100644 --- a/services/forge/Dockerfile +++ b/services/forge/Dockerfile @@ -20,7 +20,7 @@ FROM pytorch/pytorch:2.3.1-cuda12.1-cudnn8-runtime ENV DEBIAN_FRONTEND=noninteractive PIP_PREFER_BINARY=1 -RUN --mount=type=cache,target=/var/cache/apt \ +RUN --mount=type=cache,target=/root/apt \ apt-get update && \ # we need those apt-get install -y fonts-dejavu-core rsync git jq moreutils aria2 \ @@ -68,13 +68,12 @@ RUN if [ "$PUID" -ne "0" ]; then \ ENV ROOT=/stable-diffusion-webui-forge WORKDIR / -RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ +RUN --mount=type=cache,target=/root/.cache/forge-repo \ git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git && \ cd stable-diffusion-webui-forge && \ sed -i '/torch/d' requirements_versions.txt && \ pip install -r requirements_versions.txt -RUN chown -R "$PUID:$PGID" "${ROOT}" RUN \ # mv ${ROOT}/style.css ${ROOT}/user.css && \ @@ -88,18 +87,16 @@ USER $PUID:$PGID COPY --from=download --chown=${PUID}:${PGID} /repositories/ ${ROOT}/repositories/ RUN mkdir ${ROOT}/interrogate && cp ${ROOT}/repositories/clip-interrogator/clip_interrogator/data/* ${ROOT}/interrogate -RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ - pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt +RUN --mount=type=cache,target=/root/.cache/codeformer pip install -r ${ROOT}/repositories/CodeFormer/requirements.txt # Clone and copy huggingface_guess module #RUN git clone https://github.com/lllyasviel/huggingface_guess.git /tmp/huggingface_guess && \ # cp -r /tmp/huggingface_guess/huggingface_guess ${ROOT}/huggingface_guess # Ensure torchvision is correctly installed -RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ - pip install torchvision==0.18.1 +RUN --mount=type=cache,target=/root/.cache/torch pip install torchvision==0.18.1 -RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ +RUN --mount=type=cache,target=/root/.cache/repos \ pip install pyngrok xformers==0.0.27 pytorch_lightning torchdiffeq torchsde \ git+https://github.com/TencentARC/GFPGAN.git@8d2447a2d918f8eba5a4a01463fd48e45126a379 \ git+https://github.com/openai/CLIP.git@d50d76daa670286dd6cacf3bcd80b5e4823fc8e1 \ @@ -109,7 +106,10 @@ RUN --mount=type=cache,target=${USER_HOME}/.cache/pip \ ENV LD_PRELOAD=libtcmalloc.so -COPY --chown=$PUID:$PGID . /docker +COPY . /docker + +RUN chown -R "$PUID:$PGID" "${ROOT}" +RUN chown -R "$PUID:$PGID" /docker WORKDIR ${ROOT}