From c2a700fa51fc1169fe378e79172b705279c3872f Mon Sep 17 00:00:00 2001 From: Brian Gebel Date: Mon, 28 Apr 2025 14:47:23 -0700 Subject: [PATCH] revamp --- .gitignore | 4 ++++ data/.gitignore | 4 ---- data/.gitkeep | 0 services/comfy/Dockerfile | 7 +++++-- services/comfy/entrypoint.sh | 28 ++++++++++++--------------- services/comfy/extra_model_paths.yaml | 7 +++++-- 6 files changed, 26 insertions(+), 24 deletions(-) delete mode 100644 data/.gitignore create mode 100644 data/.gitkeep diff --git a/.gitignore b/.gitignore index 2a011a1..9ba66df 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,7 @@ # VSCode specific *.code-workspace /.vscode + +# Service data +/data/* +!/data/.gitkeep \ No newline at end of file diff --git a/data/.gitignore b/data/.gitignore deleted file mode 100644 index 946349a..0000000 --- a/data/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/.cache -/config -/embeddings -/models diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/services/comfy/Dockerfile b/services/comfy/Dockerfile index 73862c3..a58f25a 100644 --- a/services/comfy/Dockerfile +++ b/services/comfy/Dockerfile @@ -7,13 +7,16 @@ ENV NVIDIA_VISIBLE_DEVICES=all ENV PYTHONPATH="${PYTHONPATH}:${PWD}" ENV CLI_ARGS="" +WORKDIR ${APPLICATION_ROOT} + +# Explore how we can use the CLI to do this instead +# https://docs.comfy.org/installation/system_requirements +# https://docs.comfy.org/comfy-cli/getting-started RUN apt-get update && \ apt-get install -y git && \ apt-get clean && \ git clone --branch v0.3.19 --depth 1 https://github.com/comfyanonymous/ComfyUI.git ${APPLICATION_ROOT} -WORKDIR ${APPLICATION_ROOT} - COPY . . RUN --mount=type=cache,target=/root/.cache/pip \ diff --git a/services/comfy/entrypoint.sh b/services/comfy/entrypoint.sh index f7497dd..f47df95 100755 --- a/services/comfy/entrypoint.sh +++ b/services/comfy/entrypoint.sh @@ -2,25 +2,21 @@ set -Eeuo pipefail -mkdir -vp /data/config/comfy/custom_nodes +BASE_DIRECTORY="/data/config/comfy" +OUTPUT_DIRECTORY="/data/output" -declare -A MOUNTS +mkdir -vp ${BASE_DIRECTORY} +mkdir -vp ${BASE_DIRECTORY}/temp +mkdir -vp ${BASE_DIRECTORY}/user +mkdir -vp ${BASE_DIRECTORY}/custom_nodes +mkdir -vp ${OUTPUT_DIRECTORY} -# MOUNTS["/root/.cache"]="/data/.cache" # Determine why the original author decided to do this. -MOUNTS["${APPLICATION_ROOT}/input"]="/data/config/comfy/input" -MOUNTS["${APPLICATION_ROOT}/output"]="/output/comfy" +# --base-directory BASE_DIRECTORY +# Set the ComfyUI base directory for models, +# custom_nodes, input, output, temp, and user directories. +CLI_ARGS+="${CLI_ARGS} --base-directory ${BASE_DIRECTORY} --output-directory ${OUTPUT_DIRECTORY}" -for to_path in "${!MOUNTS[@]}"; do - set -Eeuo pipefail - from_path="${MOUNTS[${to_path}]}" - rm -rf "${to_path}" - if [ ! -f "$from_path" ]; then - mkdir -vp "$from_path" - fi - mkdir -vp "$(dirname "${to_path}")" - ln -sT "${from_path}" "${to_path}" - echo Mounted $(basename "${from_path}") -done +echo ${CLI_ARGS} if [ -f "/data/config/comfy/startup.sh" ]; then pushd ${APPLICATION_ROOT} diff --git a/services/comfy/extra_model_paths.yaml b/services/comfy/extra_model_paths.yaml index d56f207..5ce0e3a 100644 --- a/services/comfy/extra_model_paths.yaml +++ b/services/comfy/extra_model_paths.yaml @@ -1,3 +1,4 @@ +# https://github.com/comfyanonymous/ComfyUI/blob/master/extra_model_paths.yaml.example a111: base_path: /data @@ -16,8 +17,10 @@ a111: clip: models/CLIPEncoder embeddings: embeddings - # This isn't a real value as far as I can tell? - custom_nodes: config/comfy/custom_nodes +comfyui: + base_path: /data + + # custom_nodes: config/comfy/custom_nodes # TODO: I am unsure about these, need more testing # style_models: data/config/comfy/style_models