R1000 commited on
Commit
790db2b
·
verified ·
1 Parent(s): 727313f

Update start.sh

Browse files
Files changed (1) hide show
  1. start.sh +32 -46
start.sh CHANGED
@@ -4,48 +4,10 @@ set -Eeuo pipefail
4
  COMFY="${COMFYUI_PATH:-/app/ComfyUI}"
5
 
6
  # ------------------------------------------------------------
7
- # 1. Bootstrap & Update ComfyUI (Git & Pip)
8
- # ------------------------------------------------------------
9
- # ตรวจสอบว่ามีโฟลเดอร์ ComfyUI หรือไม่ ถ้าไม่มีให้ Clone ใหม่
10
- if [ ! -d "$COMFY" ]; then
11
- echo "[INFO] ComfyUI not found. Cloning from GitHub..."
12
- git clone https://github.com/comfyanonymous/ComfyUI.git "$COMFY"
13
- fi
14
-
15
- # อัปเดต ComfyUI และ Dependencies หากตั้งค่า COMFYUI_UPDATE=1
16
- if [ "${COMFYUI_UPDATE:-0}" = "1" ]; then
17
- echo "[INFO] Updating ComfyUI core via git pull..."
18
- cd "$COMFY"
19
- git pull origin master
20
-
21
- echo "[INFO] Updating ComfyUI dependencies via pip..."
22
- python -m pip install --no-cache-dir --upgrade -r requirements.txt
23
- fi
24
-
25
- # อัปเดต Custom Nodes ทั้งหมดที่มีไฟล์ .git และ requirements.txt
26
- if [ "${COMFYUI_UPDATE:-0}" = "1" ] && [ -d "$COMFY/custom_nodes" ]; then
27
- echo "[INFO] Updating custom nodes via git & pip..."
28
- find "$COMFY/custom_nodes" -mindepth 1 -maxdepth 1 -type d | while read -r node_dir; do
29
- if [ -d "$node_dir/.git" ]; then
30
- echo " -> Updating $(basename "$node_dir")"
31
- git -C "$node_dir" pull --rebase || echo " [WARN] Failed to pull $(basename "$node_dir")"
32
-
33
- if [ -f "$node_dir/requirements.txt" ]; then
34
- python -m pip install --no-cache-dir -r "$node_dir/requirements.txt" || echo " [WARN] Failed to install requirements for $(basename "$node_dir")"
35
- fi
36
- fi
37
- done
38
- fi
39
-
40
- # ติดตั้ง Python Packages เพิ่มเติมแบบไดนามิก (ถ้ามีการระบุในตัวแปรสภาพแวดล้อม)
41
- if [ -n "${EXTRA_PIP_PACKAGES:-}" ]; then
42
- echo "[INFO] Installing extra pip packages: $EXTRA_PIP_PACKAGES"
43
- python -m pip install --no-cache-dir $EXTRA_PIP_PACKAGES
44
- fi
45
-
46
- # ------------------------------------------------------------
47
- # 2. Runtime directories
48
  # ------------------------------------------------------------
 
 
49
  mkdir -p \
50
  "$COMFY/user" \
51
  "$COMFY/input" \
@@ -57,8 +19,23 @@ mkdir -p \
57
  "$COMFY/models/vae"
58
 
59
  # ------------------------------------------------------------
60
- # 3. Persistent storage (Hugging Face Space /data)
 
 
 
 
 
 
 
 
 
 
 
 
61
  # ------------------------------------------------------------
 
 
 
62
  PERSIST_ROOT="/data/comfyui"
63
 
64
  if [ -d "/data" ] && [ -w "/data" ]; then
@@ -75,8 +52,10 @@ mkdir -p \
75
  "$MODEL_ROOT/vae"
76
 
77
  # ------------------------------------------------------------
78
- # 4. Model directory links
79
  # ------------------------------------------------------------
 
 
80
  link_model_dir() {
81
  local name="$1"
82
  local target="$COMFY/models/$name"
@@ -107,7 +86,7 @@ link_model_dir text_encoders
107
  link_model_dir vae
108
 
109
  echo "============================================================"
110
- echo "ComfyUI Krea2 - Hugging Face CPU Space v2 (Git/Pip Enabled)"
111
  echo "============================================================"
112
 
113
  python - <<'PY'
@@ -121,8 +100,9 @@ print("RAM limit is controlled by the Hugging Face Space hardware.")
121
  PY
122
 
123
  # ------------------------------------------------------------
124
- # 5. Model configuration & Downloader
125
  # ------------------------------------------------------------
 
126
  GGUF_REPO="${KREA2_GGUF_REPO:-realrebelai/KREA-2_GGUFs}"
127
  GGUF_FILE="${KREA2_GGUF_FILE:-TURBO/Krea-2-Turbo-Q3_K_S.gguf}"
128
 
@@ -140,6 +120,9 @@ QWEN_PATH="$COMFY/models/text_encoders/$(basename "$QWEN_FILE")"
140
  VAE_PATH="$COMFY/models/vae/$(basename "$VAE_FILE")"
141
  WORKFLOW_PATH="$COMFY/workflows/$(basename "$WORKFLOW_FILE")"
142
 
 
 
 
143
  download_hf() {
144
  local repo="$1"
145
  local file="$2"
@@ -176,6 +159,9 @@ print("[OK] downloaded:", dest)
176
  PY
177
  }
178
 
 
 
 
179
  if [ "${KREA2_DOWNLOAD_MODELS:-1}" = "1" ]; then
180
  download_hf "$GGUF_REPO" "$GGUF_FILE" "$GGUF_PATH"
181
  download_hf "$QWEN_REPO" "$QWEN_FILE" "$QWEN_PATH"
@@ -186,7 +172,7 @@ else
186
  fi
187
 
188
  # ------------------------------------------------------------
189
- # 6. CPU optimization & Start
190
  # ------------------------------------------------------------
191
  export OMP_NUM_THREADS="${OMP_NUM_THREADS:-2}"
192
  export MKL_NUM_THREADS="${MKL_NUM_THREADS:-2}"
 
4
  COMFY="${COMFYUI_PATH:-/app/ComfyUI}"
5
 
6
  # ------------------------------------------------------------
7
+ # Runtime directories
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  # ------------------------------------------------------------
9
+ # This is intentionally done before ComfyUI starts.
10
+ # ComfyUI 0.35.x creates /app/ComfyUI/user itself.
11
  mkdir -p \
12
  "$COMFY/user" \
13
  "$COMFY/input" \
 
19
  "$COMFY/models/vae"
20
 
21
  # ------------------------------------------------------------
22
+ # ComfyUI Manager Security Setup
23
+ # ------------------------------------------------------------
24
+ MANAGER_CONFIG_DIR="$COMFY/user/default/ComfyUI-Manager"
25
+ # mkdir -p "$MANAGER_CONFIG_DIR"
26
+ # cat << 'EOF' > "$MANAGER_CONFIG_DIR/config.ini"
27
+ # [ComfyUI-Manager]
28
+ # security_level = weak
29
+ # privacy_mode = false
30
+ # EOF
31
+ # echo "[INFO] ComfyUI Manager security level set to weak."
32
+
33
+ # ------------------------------------------------------------
34
+ # Persistent storage
35
  # ------------------------------------------------------------
36
+ # If HF Storage is mounted at /data, models survive Space restarts.
37
+ # Without persistent storage, downloaded models live in the container
38
+ # filesystem and may have to be downloaded again after a rebuild/restart.
39
  PERSIST_ROOT="/data/comfyui"
40
 
41
  if [ -d "/data" ] && [ -w "/data" ]; then
 
52
  "$MODEL_ROOT/vae"
53
 
54
  # ------------------------------------------------------------
55
+ # Model directory links
56
  # ------------------------------------------------------------
57
+ # Only replace an empty ComfyUI model directory.
58
+ # This avoids deleting any models supplied in the Space image.
59
  link_model_dir() {
60
  local name="$1"
61
  local target="$COMFY/models/$name"
 
86
  link_model_dir vae
87
 
88
  echo "============================================================"
89
+ echo "ComfyUI Krea2 - Hugging Face CPU"
90
  echo "============================================================"
91
 
92
  python - <<'PY'
 
100
  PY
101
 
102
  # ------------------------------------------------------------
103
+ # Model configuration
104
  # ------------------------------------------------------------
105
+ # Q3_K_S is selected for the ~15 GB RAM CPU Space.
106
  GGUF_REPO="${KREA2_GGUF_REPO:-realrebelai/KREA-2_GGUFs}"
107
  GGUF_FILE="${KREA2_GGUF_FILE:-TURBO/Krea-2-Turbo-Q3_K_S.gguf}"
108
 
 
120
  VAE_PATH="$COMFY/models/vae/$(basename "$VAE_FILE")"
121
  WORKFLOW_PATH="$COMFY/workflows/$(basename "$WORKFLOW_FILE")"
122
 
123
+ # ------------------------------------------------------------
124
+ # Hugging Face downloader
125
+ # ------------------------------------------------------------
126
  download_hf() {
127
  local repo="$1"
128
  local file="$2"
 
159
  PY
160
  }
161
 
162
+ # ------------------------------------------------------------
163
+ # Download models
164
+ # ------------------------------------------------------------
165
  if [ "${KREA2_DOWNLOAD_MODELS:-1}" = "1" ]; then
166
  download_hf "$GGUF_REPO" "$GGUF_FILE" "$GGUF_PATH"
167
  download_hf "$QWEN_REPO" "$QWEN_FILE" "$QWEN_PATH"
 
172
  fi
173
 
174
  # ------------------------------------------------------------
175
+ # CPU optimization
176
  # ------------------------------------------------------------
177
  export OMP_NUM_THREADS="${OMP_NUM_THREADS:-2}"
178
  export MKL_NUM_THREADS="${MKL_NUM_THREADS:-2}"