Last active
August 10, 2025 05:22
-
-
Save michaelgold/4f660c9b87f5995a10de9f5d4089d2ad to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| set -euo pipefail | |
| # 1) Prepare persistent layout + symlinks (same migrate_link you already have) | |
| WORK="/workspace"; [ -d /runpod-volume ] && WORK="/runpod-volume" | |
| migrate_link() { | |
| src="$1"; dst="$2" | |
| mkdir -p "$dst" | |
| if [ -d "$src" ] && [ ! -L "$src" ]; then | |
| shopt -s dotglob; mv "$src"/* "$dst"/ 2>/dev/null || true; shopt -u dotglob | |
| rm -rf "$src" | |
| fi | |
| ln -sfnT "$dst" "$src" | |
| } | |
| mkdir -p "$WORK"/{models,custom_nodes,manager,u2net,output,workflows,input} /app/comfy/user/default /root | |
| migrate_link /app/comfy/models "$WORK/models" | |
| migrate_link /app/comfy/custom_nodes "$WORK/custom_nodes" | |
| migrate_link /app/comfy/output "$WORK/output" | |
| migrate_link /app/comfy/input "$WORK/input" | |
| migrate_link /app/comfy/user/default/ComfyUI-Manager "$WORK/manager" | |
| rm -rf /root/.u2net || true; ln -sfnT "$WORK/u2net" /root/.u2net | |
| # 2) Point comfy-cli and set token if present | |
| comfy workspace set /app/comfy || true | |
| [ -n "${HF_TOKEN:-}" ] && comfy model download --set-hf-api-token "$HF_TOKEN" || true | |
| # 3) Background downloader | |
| cat >/usr/local/bin/comfy-models-download.sh <<"EOF" | |
| #!/bin/bash | |
| set -euo pipefail | |
| REL=models | |
| dl(){ u=$1; r=$2; f=$3; tgt="/app/comfy/$REL/$r/$f" | |
| if [ -f "$tgt" ]; then echo "SKIP $tgt"; return 0; fi | |
| mkdir -p "$(dirname "$tgt")" | |
| comfy model download --url "$u" --relative-path "$REL/$r" --filename "$f" | |
| } | |
| # --- your list --- | |
| dl https://huggingface.co/tencent/Hunyuan3D-2/resolve/main/hunyuan3d-dit-v2-0-fast/model.fp16.safetensors diffusion_models/hy3dgen hunyuan3d-dit-v2-0-fast-fp16.safetensors | |
| dl https://huggingface.co/tencent/Hunyuan3D-2mv/resolve/main/hunyuan3d-dit-v2-mv-fast/model.fp16.safetensors diffusion_models/hy3dgen hunyuan3d-dit-v2-mv-fast-fp16.safetensors | |
| dl https://huggingface.co/Kijai/flux-fp8/resolve/main/flux1-dev-fp8.safetensors unet/FLUX1 flux1-dev-fp8.safetensors | |
| dl https://huggingface.co/Kijai/flux-fp8/resolve/main/flux_shakker_labs_union_pro-fp8_e4m3fn.safetensors controlnet/FLUX1 flux_shakker_labs_union_pro-fp8_e4m3fn.safetensors | |
| dl https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn.safetensors text_encoders/t5 t5xxl_fp8_e4m3fn.safetensors | |
| dl https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/clip_l.safetensors text_encoders clip_l.safetensors | |
| dl https://huggingface.co/black-forest-labs/FLUX.1-dev/resolve/main/ae.safetensors vae/FLUX1 ae.safetensors | |
| dl https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/open-clip-xlm-roberta-large-vit-huge-14_visual_fp16.safetensors clip_vision open-clip-xlm-roberta-large-vit-huge-14_visual_fp16.safetensors | |
| dl https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1-I2V-14B-480P_fp8_e4m3fn.safetensors diffusion_models/WanVideo Wan2_1-I2V-14B-480P_fp8_e4m3fn.safetensors | |
| dl https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/umt5-xxl-enc-bf16.safetensors text_encoders umt5-xxl-enc-bf16.safetensors | |
| dl https://huggingface.co/Kijai/WanVideo_comfy/resolve/main/Wan2_1_VAE_bf16.safetensors vae/WanVideo Wan2_1_VAE_bf16.safetensors | |
| dl https://huggingface.co/Comfy-Org/Lumina_Image_2.0_Repackaged/resolve/main/split_files/vae/ae.safetensors vae ae.safetensors | |
| dl https://huggingface.co/comfyanonymous/flux_text_encoders/resolve/main/t5xxl_fp8_e4m3fn_scaled.safetensors text_encoders/t5 t5xxl_fp8_e4m3fn_scaled.safetensors | |
| dl https://huggingface.co/Comfy-Org/flux1-kontext-dev_ComfyUI/resolve/main/split_files/diffusion_models/flux1-dev-kontext_fp8_scaled.safetensors diffusion_models flux1-dev-kontext_fp8_scaled.safetensors | |
| dl https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/diffusion_models/wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors diffusion_models wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors | |
| dl https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/diffusion_models/wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors diffusion_models wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors | |
| dl https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/vae/wan_2.1_vae.safetensors vae wan_2.1_vae.safetensors | |
| dl https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/vae/wan2.2_vae.safetensors vae wan2.2_vae.safetensors | |
| dl https://huggingface.co/Comfy-Org/Wan_2.2_ComfyUI_Repackaged/resolve/main/split_files/text_encoders/umt5_xxl_fp8_e4m3fn_scaled.safetensors text_encoders umt5_xxl_fp8_e4m3fn_scaled.safetensors | |
| EOF | |
| chmod +x /usr/local/bin/comfy-models-download.sh | |
| # run once, in background, with a lock and logs | |
| mkdir -p "$WORK/logs" | |
| nohup flock -n /tmp/comfy-models.lock \ | |
| bash -lc "nice -n 10 ionice -c2 -n7 /usr/local/bin/comfy-models-download.sh" \ | |
| >"$WORK/logs/model_download.log" 2>&1 & disown | |
| # 4) Hand off to normal startup (foreground) | |
| exec /app/utils/init.sh |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment