144 lines
4.3 KiB
Bash
144 lines
4.3 KiB
Bash
#!/bin/bash
|
|
# Script to set up the RunPod network volume with Wan2.2 models
|
|
# Run this once on a GPU pod with the network volume attached
|
|
|
|
echo "=== Setting up RunPod Network Volume for Wan2.2 ==="
|
|
|
|
# Create directory structure
|
|
echo "Creating directory structure..."
|
|
mkdir -p /runpod-volume/models/diffusion_models
|
|
mkdir -p /runpod-volume/models/vae
|
|
mkdir -p /runpod-volume/models/text_encoders
|
|
mkdir -p /runpod-volume/models/clip_vision
|
|
mkdir -p /runpod-volume/loras
|
|
|
|
# Check current disk usage
|
|
echo "Current network volume usage:"
|
|
df -h /runpod-volume
|
|
|
|
# List what's already on the volume
|
|
echo ""
|
|
echo "Current contents of /runpod-volume:"
|
|
ls -la /runpod-volume/
|
|
|
|
echo ""
|
|
echo "Current contents of /runpod-volume/models/ (if exists):"
|
|
ls -la /runpod-volume/models/ 2>/dev/null || echo "(empty or doesn't exist)"
|
|
|
|
# Check if models exist in the Docker image
|
|
echo ""
|
|
echo "Models in Docker image /ComfyUI/models/diffusion_models/:"
|
|
ls -la /ComfyUI/models/diffusion_models/ 2>/dev/null || echo "(not found)"
|
|
|
|
echo ""
|
|
echo "Models in Docker image /ComfyUI/models/vae/:"
|
|
ls -la /ComfyUI/models/vae/ 2>/dev/null || echo "(not found)"
|
|
|
|
echo ""
|
|
echo "Models in Docker image /ComfyUI/models/text_encoders/:"
|
|
ls -la /ComfyUI/models/text_encoders/ 2>/dev/null || echo "(not found)"
|
|
|
|
echo ""
|
|
echo "Models in Docker image /ComfyUI/models/clip_vision/:"
|
|
ls -la /ComfyUI/models/clip_vision/ 2>/dev/null || echo "(not found)"
|
|
|
|
echo ""
|
|
echo "Models in Docker image /ComfyUI/models/loras/:"
|
|
ls -la /ComfyUI/models/loras/ 2>/dev/null || echo "(not found)"
|
|
|
|
# Copy models to network volume (if not already there)
|
|
echo ""
|
|
echo "=== Copying models to network volume ==="
|
|
|
|
# Diffusion models
|
|
if [ -d "/ComfyUI/models/diffusion_models" ]; then
|
|
echo "Copying diffusion models..."
|
|
cp -vn /ComfyUI/models/diffusion_models/*.safetensors /runpod-volume/models/diffusion_models/ 2>/dev/null || true
|
|
fi
|
|
|
|
# VAE models
|
|
if [ -d "/ComfyUI/models/vae" ]; then
|
|
echo "Copying VAE models..."
|
|
cp -vn /ComfyUI/models/vae/*.safetensors /runpod-volume/models/vae/ 2>/dev/null || true
|
|
fi
|
|
|
|
# Text encoders
|
|
if [ -d "/ComfyUI/models/text_encoders" ]; then
|
|
echo "Copying text encoder models..."
|
|
cp -vn /ComfyUI/models/text_encoders/*.safetensors /runpod-volume/models/text_encoders/ 2>/dev/null || true
|
|
fi
|
|
|
|
# CLIP vision
|
|
if [ -d "/ComfyUI/models/clip_vision" ]; then
|
|
echo "Copying CLIP vision models..."
|
|
cp -vn /ComfyUI/models/clip_vision/*.safetensors /runpod-volume/models/clip_vision/ 2>/dev/null || true
|
|
fi
|
|
|
|
# LoRAs
|
|
if [ -d "/ComfyUI/models/loras" ]; then
|
|
echo "Copying LoRA models..."
|
|
cp -vn /ComfyUI/models/loras/*.safetensors /runpod-volume/loras/ 2>/dev/null || true
|
|
fi
|
|
|
|
# Copy extra_model_paths.yaml to volume
|
|
echo ""
|
|
echo "Copying extra_model_paths.yaml to network volume..."
|
|
cat > /runpod-volume/extra_model_paths.yaml << 'EOF'
|
|
# ComfyUI Model Paths Configuration - Network Volume Priority
|
|
comfyui:
|
|
base_path: /ComfyUI/
|
|
is_default: true
|
|
checkpoints: |
|
|
/runpod-volume/models/checkpoints/
|
|
models/checkpoints/
|
|
clip: |
|
|
/runpod-volume/models/clip/
|
|
models/clip/
|
|
clip_vision: |
|
|
/runpod-volume/models/clip_vision/
|
|
models/clip_vision/
|
|
configs: models/configs/
|
|
controlnet: |
|
|
/runpod-volume/models/controlnet/
|
|
models/controlnet/
|
|
diffusion_models: |
|
|
/runpod-volume/models/diffusion_models/
|
|
/runpod-volume/models/
|
|
models/diffusion_models/
|
|
models/unet/
|
|
embeddings: |
|
|
/runpod-volume/models/embeddings/
|
|
models/embeddings/
|
|
loras: |
|
|
/runpod-volume/loras/
|
|
/runpod-volume/models/loras/
|
|
models/loras/
|
|
text_encoders: |
|
|
/runpod-volume/models/text_encoders/
|
|
models/text_encoders/
|
|
upscale_models: |
|
|
/runpod-volume/models/upscale_models/
|
|
models/upscale_models/
|
|
vae: |
|
|
/runpod-volume/models/vae/
|
|
models/vae/
|
|
EOF
|
|
|
|
echo ""
|
|
echo "=== Final network volume contents ==="
|
|
echo ""
|
|
echo "/runpod-volume/models/:"
|
|
du -sh /runpod-volume/models/*/ 2>/dev/null || echo "(empty)"
|
|
echo ""
|
|
echo "/runpod-volume/loras/:"
|
|
ls -la /runpod-volume/loras/ 2>/dev/null || echo "(empty)"
|
|
|
|
echo ""
|
|
echo "Total network volume usage:"
|
|
du -sh /runpod-volume/
|
|
|
|
echo ""
|
|
echo "=== Setup complete! ==="
|
|
echo "Models have been copied to the network volume."
|
|
echo "On subsequent cold starts, models will load from /runpod-volume/ (faster)."
|