refactor: reorganize directory structure and remove hardcoded paths
Move comfyui and vllm out of models/ directory to top level for better organization. Replace all hardcoded /workspace paths with relative paths to make the configuration portable across different environments. Changes: - Move models/comfyui/ → comfyui/ - Move models/vllm/ → vllm/ - Remove models/ directory (empty) - Update arty.yml: replace /workspace with environment variables - Update supervisord.conf: use relative paths from /workspace/ai - Update all script references to use new paths - Maintain TQDM_DISABLE=1 to fix BrokenPipeError 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
210
arty.yml
210
arty.yml
@@ -8,63 +8,63 @@ license: "MIT"
|
||||
references:
|
||||
# ComfyUI base installation
|
||||
- url: https://github.com/comfyanonymous/ComfyUI.git
|
||||
into: /workspace/ComfyUI
|
||||
into: $COMFYUI_ROOT
|
||||
description: "ComfyUI - Node-based interface for image/video/audio generation"
|
||||
|
||||
# ComfyUI Essential Custom Nodes
|
||||
- url: https://github.com/ltdrdata/ComfyUI-Manager.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI-Manager
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI-Manager
|
||||
description: "ComfyUI Manager - Install/manage custom nodes and models"
|
||||
essential: true
|
||||
|
||||
- url: https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI-VideoHelperSuite
|
||||
description: "Video operations and processing"
|
||||
essential: true
|
||||
|
||||
- url: https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI-AnimateDiff-Evolved
|
||||
description: "AnimateDiff for video generation"
|
||||
essential: true
|
||||
|
||||
- url: https://github.com/cubiq/ComfyUI_IPAdapter_plus.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI_IPAdapter_plus
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI_IPAdapter_plus
|
||||
description: "IP-Adapter for style transfer"
|
||||
essential: true
|
||||
|
||||
- url: https://github.com/ltdrdata/ComfyUI-Impact-Pack.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI-Impact-Pack
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI-Impact-Pack
|
||||
description: "Auto face enhancement and detailer"
|
||||
essential: true
|
||||
|
||||
# ComfyUI Optional Custom Nodes
|
||||
- url: https://github.com/kijai/ComfyUI-CogVideoXWrapper.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI-CogVideoXWrapper
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI-CogVideoXWrapper
|
||||
description: "CogVideoX integration for text-to-video"
|
||||
essential: false
|
||||
|
||||
- url: https://github.com/ltdrdata/ComfyUI-Inspire-Pack.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI-Inspire-Pack
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI-Inspire-Pack
|
||||
description: "Additional inspiration tools"
|
||||
essential: false
|
||||
|
||||
- url: https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI-Advanced-ControlNet
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI-Advanced-ControlNet
|
||||
description: "Advanced ControlNet features"
|
||||
essential: false
|
||||
|
||||
- url: https://github.com/MrForExample/ComfyUI-3D-Pack.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI-3D-Pack
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI-3D-Pack
|
||||
description: "3D asset generation"
|
||||
essential: false
|
||||
|
||||
- url: https://github.com/MixLabPro/comfyui-sound-lab.git
|
||||
into: /workspace/ComfyUI/custom_nodes/comfyui-sound-lab
|
||||
into: $COMFYUI_ROOT/custom_nodes/comfyui-sound-lab
|
||||
description: "MusicGen and Stable Audio integration"
|
||||
essential: false
|
||||
|
||||
- url: https://github.com/ssitu/ComfyUI_UltimateSDUpscale.git
|
||||
into: /workspace/ComfyUI/custom_nodes/ComfyUI_UltimateSDUpscale
|
||||
into: $COMFYUI_ROOT/custom_nodes/ComfyUI_UltimateSDUpscale
|
||||
description: "Ultimate SD Upscale for high-quality image upscaling"
|
||||
essential: false
|
||||
|
||||
@@ -72,34 +72,34 @@ references:
|
||||
envs:
|
||||
# Production: Only essential components
|
||||
prod:
|
||||
- /workspace/ai
|
||||
- /workspace/ComfyUI
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-Manager
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI_IPAdapter_plus
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-Impact-Pack
|
||||
- $AI_ROOT
|
||||
- $COMFYUI_ROOT
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-Manager
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-VideoHelperSuite
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-AnimateDiff-Evolved
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI_IPAdapter_plus
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-Impact-Pack
|
||||
|
||||
# Development: All repositories including optional nodes
|
||||
dev:
|
||||
- /workspace/ai
|
||||
- /workspace/ComfyUI
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-Manager
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI_IPAdapter_plus
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-Impact-Pack
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-CogVideoXWrapper
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-Inspire-Pack
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-Advanced-ControlNet
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-3D-Pack
|
||||
- /workspace/ComfyUI/custom_nodes/comfyui-sound-lab
|
||||
- $AI_ROOT
|
||||
- $COMFYUI_ROOT
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-Manager
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-VideoHelperSuite
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-AnimateDiff-Evolved
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI_IPAdapter_plus
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-Impact-Pack
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-CogVideoXWrapper
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-Inspire-Pack
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-Advanced-ControlNet
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-3D-Pack
|
||||
- $COMFYUI_ROOT/custom_nodes/comfyui-sound-lab
|
||||
|
||||
# Minimal: Only orchestrator and ComfyUI base
|
||||
minimal:
|
||||
- /workspace/ai
|
||||
- /workspace/ComfyUI
|
||||
- /workspace/ComfyUI/custom_nodes/ComfyUI-Manager
|
||||
- $AI_ROOT
|
||||
- $COMFYUI_ROOT
|
||||
- $COMFYUI_ROOT/custom_nodes/ComfyUI-Manager
|
||||
|
||||
# Deployment scripts for RunPod instances
|
||||
scripts:
|
||||
@@ -156,18 +156,18 @@ scripts:
|
||||
|
||||
# Install core Python packages
|
||||
echo "Installing core Python packages..."
|
||||
if [ -f "/workspace/ai/core/requirements.txt" ]; then
|
||||
sudo pip3 install -r /workspace/ai/core/requirements.txt
|
||||
if [ -f "$AI_ROOT/core/requirements.txt" ]; then
|
||||
sudo pip3 install -r $AI_ROOT/core/requirements.txt
|
||||
else
|
||||
echo "⚠ Warning: /workspace/ai/core/requirements.txt not found"
|
||||
echo "⚠ Warning: $AI_ROOT/core/requirements.txt not found"
|
||||
fi
|
||||
|
||||
# Install vLLM dependencies
|
||||
echo "Installing vLLM dependencies..."
|
||||
if [ -f "/workspace/ai/models/vllm/requirements.txt" ]; then
|
||||
sudo pip3 install -r /workspace/ai/models/vllm/requirements.txt
|
||||
if [ -f "vllm/requirements.txt" ]; then
|
||||
sudo pip3 install -r vllm/requirements.txt
|
||||
else
|
||||
echo "⚠ Warning: /workspace/ai/models/vllm/requirements.txt not found"
|
||||
echo "⚠ Warning: vllm/requirements.txt not found"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
@@ -180,42 +180,42 @@ scripts:
|
||||
echo ""
|
||||
|
||||
# Clone ComfyUI if not exists
|
||||
if [ ! -d "/workspace/ComfyUI" ]; then
|
||||
if [ ! -d "$COMFYUI_ROOT" ]; then
|
||||
echo "Cloning ComfyUI repository..."
|
||||
git clone https://github.com/comfyanonymous/ComfyUI.git /workspace/ComfyUI
|
||||
git clone https://github.com/comfyanonymous/ComfyUI.git $COMFYUI_ROOT
|
||||
else
|
||||
echo "ComfyUI already exists, pulling latest changes..."
|
||||
cd /workspace/ComfyUI && git pull
|
||||
cd $COMFYUI_ROOT && git pull
|
||||
fi
|
||||
|
||||
# Install ComfyUI dependencies
|
||||
echo "Installing ComfyUI dependencies..."
|
||||
sudo pip3 install -r /workspace/ComfyUI/requirements.txt
|
||||
sudo pip3 install -r $COMFYUI_ROOT/requirements.txt
|
||||
|
||||
# Install additional ComfyUI dependencies
|
||||
if [ -f "/workspace/ai/models/comfyui/requirements.txt" ]; then
|
||||
if [ -f "comfyui/requirements.txt" ]; then
|
||||
echo "Installing additional ComfyUI dependencies..."
|
||||
sudo pip3 install -r /workspace/ai/models/comfyui/requirements.txt
|
||||
sudo pip3 install -r comfyui/requirements.txt
|
||||
fi
|
||||
|
||||
# Create model directory structure
|
||||
echo "Creating ComfyUI model directories..."
|
||||
mkdir -p /workspace/ComfyUI/models/{checkpoints,unet,vae,loras,clip,clip_vision,controlnet,ipadapter,embeddings,upscale_models,video_models,animatediff_models,animatediff_motion_lora,audio_models,configs,diffusers,diffusion_models}
|
||||
mkdir -p $COMFYUI_ROOT/models/{checkpoints,unet,vae,loras,clip,clip_vision,controlnet,ipadapter,embeddings,upscale_models,video_models,animatediff_models,animatediff_motion_lora,audio_models,configs,diffusers,diffusion_models}
|
||||
|
||||
# Create symlink to huggingface cache
|
||||
echo "Creating symlink to HuggingFace cache..."
|
||||
ln -sf /workspace/huggingface_cache /workspace/ComfyUI/models/huggingface_cache
|
||||
ln -sf $HF_CACHE $COMFYUI_ROOT/models/huggingface_cache
|
||||
|
||||
# Make start script executable
|
||||
if [ -f "/workspace/ai/models/comfyui/start.sh" ]; then
|
||||
chmod +x /workspace/ai/models/comfyui/start.sh
|
||||
if [ -f "comfyui/start.sh" ]; then
|
||||
chmod +x comfyui/start.sh
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✓ ComfyUI base installed successfully"
|
||||
echo " Directory: /workspace/ComfyUI"
|
||||
echo " Directory: $COMFYUI_ROOT"
|
||||
echo " Port: 8188"
|
||||
echo " Start: bash /workspace/ai/models/comfyui/start.sh"
|
||||
echo " Start: bash comfyui/start.sh"
|
||||
|
||||
setup/comfyui-nodes: |
|
||||
echo "========================================="
|
||||
@@ -223,7 +223,7 @@ scripts:
|
||||
echo "========================================="
|
||||
echo ""
|
||||
|
||||
cd /workspace/ComfyUI/custom_nodes
|
||||
cd $COMFYUI_ROOT/custom_nodes
|
||||
|
||||
# ComfyUI Manager
|
||||
echo "[1/5] Installing ComfyUI-Manager..."
|
||||
@@ -307,22 +307,22 @@ scripts:
|
||||
sudo pip3 install supervisor
|
||||
|
||||
# Create logs directory
|
||||
mkdir -p /workspace/logs
|
||||
mkdir -p $LOGS_DIR
|
||||
|
||||
# Copy supervisor configuration
|
||||
if [ -f "/workspace/ai/supervisord.conf" ]; then
|
||||
if [ -f "$AI_ROOT/supervisord.conf" ]; then
|
||||
echo "Deploying supervisord configuration..."
|
||||
cp /workspace/ai/supervisord.conf /workspace/supervisord.conf
|
||||
cp $AI_ROOT/supervisord.conf /workspace/supervisord.conf
|
||||
chmod 644 /workspace/supervisord.conf
|
||||
else
|
||||
echo "⚠ Warning: supervisord.conf not found at /workspace/ai/supervisord.conf"
|
||||
echo "⚠ Warning: supervisord.conf not found at $AI_ROOT/supervisord.conf"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "✓ Supervisor installed successfully"
|
||||
echo ""
|
||||
echo "Configuration: /workspace/supervisord.conf"
|
||||
echo "Logs: /workspace/logs/"
|
||||
echo "Logs: $LOGS_DIR/"
|
||||
echo ""
|
||||
echo "Services configured:"
|
||||
echo " - comfyui: ComfyUI server (port 8188) - autostart enabled"
|
||||
@@ -373,14 +373,14 @@ scripts:
|
||||
|
||||
# Create symlink in ComfyUI
|
||||
echo "Creating symlink in ComfyUI..."
|
||||
ln -sf /mnt/hidrive/users/valknar/Pictures/AI/ComfyUI /workspace/ComfyUI/output_hidrive
|
||||
ln -sf /mnt/hidrive/users/valknar/Pictures/AI/ComfyUI $COMFYUI_ROOT/output_hidrive
|
||||
|
||||
echo ""
|
||||
echo "✓ WebDAV setup complete"
|
||||
echo ""
|
||||
echo "Mount point: /mnt/hidrive"
|
||||
echo "ComfyUI output: /mnt/hidrive/users/valknar/Pictures/AI/ComfyUI"
|
||||
echo "ComfyUI symlink: /workspace/ComfyUI/output_hidrive"
|
||||
echo "ComfyUI symlink: $COMFYUI_ROOT/output_hidrive"
|
||||
echo ""
|
||||
echo "To unmount: umount /mnt/hidrive"
|
||||
echo "To remount: mount -t davfs https://webdav.hidrive.ionos.com/ /mnt/hidrive"
|
||||
@@ -405,17 +405,17 @@ scripts:
|
||||
echo ""
|
||||
|
||||
# Check cache size
|
||||
if [ -d "/workspace/huggingface_cache" ]; then
|
||||
if [ -d "$HF_CACHE" ]; then
|
||||
echo "Model cache size:"
|
||||
du -sh /workspace/huggingface_cache
|
||||
du -sh $HF_CACHE
|
||||
else
|
||||
echo "⚠ Warning: /workspace/huggingface_cache not found"
|
||||
echo "⚠ Warning: $HF_CACHE not found"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Verify service scripts
|
||||
echo "Service scripts:"
|
||||
for script in /workspace/ai/scripts/*.sh; do
|
||||
for script in $AI_ROOT/scripts/*.sh; do
|
||||
if [ -f "$script" ]; then
|
||||
echo " ✓ $(basename $script)"
|
||||
chmod +x "$script"
|
||||
@@ -433,7 +433,7 @@ scripts:
|
||||
|
||||
# Remove sensitive files
|
||||
echo "Removing sensitive files..."
|
||||
rm -f /workspace/ai/.env
|
||||
rm -f $AI_ROOT/.env
|
||||
rm -f /root/.ssh/known_hosts
|
||||
rm -f /root/.bash_history
|
||||
rm -f /root/.python_history
|
||||
@@ -548,48 +548,48 @@ scripts:
|
||||
# Legacy Setup (deprecated - use install/* instead)
|
||||
#
|
||||
setup/full-legacy: |
|
||||
cd /workspace/ai
|
||||
cd $AI_ROOT
|
||||
cp .env.example .env
|
||||
echo "⚠ DEPRECATED: Use 'arty run install/full' instead"
|
||||
echo "Edit .env and set HF_TOKEN, then run: ansible-playbook playbook.yml"
|
||||
|
||||
setup/essential-legacy: |
|
||||
cd /workspace/ai
|
||||
cd $AI_ROOT
|
||||
cp .env.example .env
|
||||
echo "⚠ DEPRECATED: Use 'arty run install/essential' instead"
|
||||
echo "Edit .env and set HF_TOKEN, then run: ansible-playbook playbook.yml --tags comfyui-essential"
|
||||
|
||||
# Model linking (run after models are downloaded)
|
||||
models/link-comfyui: |
|
||||
cd /workspace/ComfyUI/models/diffusers
|
||||
ln -sf /workspace/huggingface_cache/models--black-forest-labs--FLUX.1-schnell FLUX.1-schnell
|
||||
ln -sf /workspace/huggingface_cache/models--black-forest-labs--FLUX.1-dev FLUX.1-dev
|
||||
ln -sf /workspace/huggingface_cache/models--stabilityai--stable-diffusion-xl-base-1.0 stable-diffusion-xl-base-1.0
|
||||
ln -sf /workspace/huggingface_cache/models--stabilityai--stable-diffusion-xl-refiner-1.0 stable-diffusion-xl-refiner-1.0
|
||||
ln -sf /workspace/huggingface_cache/models--stabilityai--stable-diffusion-3.5-large stable-diffusion-3.5-large
|
||||
cd /workspace/ComfyUI/models/clip_vision
|
||||
ln -sf /workspace/huggingface_cache/models--openai--clip-vit-large-patch14 clip-vit-large-patch14
|
||||
ln -sf /workspace/huggingface_cache/models--laion--CLIP-ViT-bigG-14-laion2B-39B-b160k CLIP-ViT-bigG-14
|
||||
ln -sf /workspace/huggingface_cache/models--google--siglip-so400m-patch14-384 siglip-so400m-patch14-384
|
||||
cd /workspace/ComfyUI/models/diffusion_models
|
||||
ln -sf /workspace/huggingface_cache/models--THUDM--CogVideoX-5b CogVideoX-5b
|
||||
ln -sf /workspace/huggingface_cache/models--stabilityai--stable-video-diffusion-img2vid stable-video-diffusion-img2vid
|
||||
ln -sf /workspace/huggingface_cache/models--stabilityai--stable-video-diffusion-img2vid-xt stable-video-diffusion-img2vid-xt
|
||||
cd $COMFYUI_ROOT/models/diffusers
|
||||
ln -sf $HF_CACHE/models--black-forest-labs--FLUX.1-schnell FLUX.1-schnell
|
||||
ln -sf $HF_CACHE/models--black-forest-labs--FLUX.1-dev FLUX.1-dev
|
||||
ln -sf $HF_CACHE/models--stabilityai--stable-diffusion-xl-base-1.0 stable-diffusion-xl-base-1.0
|
||||
ln -sf $HF_CACHE/models--stabilityai--stable-diffusion-xl-refiner-1.0 stable-diffusion-xl-refiner-1.0
|
||||
ln -sf $HF_CACHE/models--stabilityai--stable-diffusion-3.5-large stable-diffusion-3.5-large
|
||||
cd $COMFYUI_ROOT/models/clip_vision
|
||||
ln -sf $HF_CACHE/models--openai--clip-vit-large-patch14 clip-vit-large-patch14
|
||||
ln -sf $HF_CACHE/models--laion--CLIP-ViT-bigG-14-laion2B-39B-b160k CLIP-ViT-bigG-14
|
||||
ln -sf $HF_CACHE/models--google--siglip-so400m-patch14-384 siglip-so400m-patch14-384
|
||||
cd $COMFYUI_ROOT/models/diffusion_models
|
||||
ln -sf $HF_CACHE/models--THUDM--CogVideoX-5b CogVideoX-5b
|
||||
ln -sf $HF_CACHE/models--stabilityai--stable-video-diffusion-img2vid stable-video-diffusion-img2vid
|
||||
ln -sf $HF_CACHE/models--stabilityai--stable-video-diffusion-img2vid-xt stable-video-diffusion-img2vid-xt
|
||||
echo "Models linked to ComfyUI"
|
||||
|
||||
# Workflow linking (link production workflows with category prefixes)
|
||||
workflows/link-comfyui: |
|
||||
# Create ComfyUI user workflows directory
|
||||
mkdir -p /workspace/ComfyUI/user/default/workflows
|
||||
cd /workspace/ComfyUI/user/default/workflows
|
||||
mkdir -p $COMFYUI_ROOT/user/default/workflows
|
||||
cd $COMFYUI_ROOT/user/default/workflows
|
||||
|
||||
# Remove old symlinks from previous location
|
||||
rm -f /workspace/ComfyUI/workflows/*.json 2>/dev/null || true
|
||||
rm -f $COMFYUI_ROOT/workflows/*.json 2>/dev/null || true
|
||||
|
||||
# Clear existing workflow symlinks to avoid conflicts
|
||||
find . -type l -name "*.json" -delete
|
||||
|
||||
SOURCE_DIR="/workspace/ai/models/comfyui/workflows"
|
||||
SOURCE_DIR="comfyui/workflows"
|
||||
|
||||
# Text-to-Image workflows (prefix: t2i_)
|
||||
for file in "$SOURCE_DIR/text-to-image"/*.json; do
|
||||
@@ -644,7 +644,7 @@ scripts:
|
||||
|
||||
echo "Production workflows linked to ComfyUI user directory"
|
||||
echo " Total workflows: $WORKFLOW_COUNT"
|
||||
echo " Location: /workspace/ComfyUI/user/default/workflows/"
|
||||
echo " Location: $COMFYUI_ROOT/user/default/workflows/"
|
||||
echo ""
|
||||
echo "Categories (by prefix):"
|
||||
echo " - t2i_ : 4 text-to-image workflows (FLUX, SDXL, SD3.5)"
|
||||
@@ -698,8 +698,8 @@ scripts:
|
||||
#
|
||||
check/gpu: nvidia-smi
|
||||
check/disk: df -h /workspace
|
||||
check/models: du -sh /workspace/huggingface_cache
|
||||
check/cache: find /workspace/huggingface_cache -type d -name 'models--*' -maxdepth 1
|
||||
check/models: du -sh $HF_CACHE
|
||||
check/cache: find $HF_CACHE -type d -name 'models--*' -maxdepth 1
|
||||
|
||||
# Deployment notes
|
||||
notes: |
|
||||
@@ -723,7 +723,7 @@ notes: |
|
||||
arty run install/full
|
||||
|
||||
3. Configure Environment:
|
||||
cd /workspace/ai
|
||||
cd $AI_ROOT
|
||||
cp .env.example .env
|
||||
# Edit .env and set HF_TOKEN
|
||||
|
||||
@@ -805,7 +805,7 @@ notes: |
|
||||
COMFYUI WORKFLOWS
|
||||
========================================
|
||||
|
||||
Location: /workspace/ComfyUI/workflows/
|
||||
Location: $COMFYUI_ROOT/workflows/
|
||||
|
||||
Link workflows: arty run workflows/link-comfyui
|
||||
|
||||
@@ -832,25 +832,25 @@ notes: |
|
||||
========================================
|
||||
|
||||
Configuration:
|
||||
- /workspace/ai/arty.yml # This file
|
||||
- /workspace/ai/.env # Environment variables
|
||||
- $AI_ROOT/arty.yml # This file
|
||||
- $AI_ROOT/.env # Environment variables
|
||||
- /workspace/supervisord.conf # Supervisor config
|
||||
|
||||
Code:
|
||||
- /workspace/ai/ # Project directory
|
||||
- /workspace/ComfyUI/ # ComfyUI installation
|
||||
- /workspace/ai/scripts/*.sh # Service scripts
|
||||
- $AI_ROOT/ # Project directory
|
||||
- $COMFYUI_ROOT/ # ComfyUI installation
|
||||
- $AI_ROOT/scripts/*.sh # Service scripts
|
||||
|
||||
Models:
|
||||
- /workspace/huggingface_cache/ # Model cache (~401GB)
|
||||
- /workspace/ComfyUI/models/ # Symlinks to cache
|
||||
- $HF_CACHE/ # Model cache (~401GB)
|
||||
- $COMFYUI_ROOT/models/ # Symlinks to cache
|
||||
|
||||
Workflows:
|
||||
- /workspace/ai/models/comfyui/workflows/ # Source (git)
|
||||
- /workspace/ComfyUI/workflows/ # Linked workflows
|
||||
- $AI_ROOT/comfyui/workflows/ # Source (git)
|
||||
- $COMFYUI_ROOT/workflows/ # Linked workflows
|
||||
|
||||
Logs:
|
||||
- /workspace/logs/ # Supervisor logs
|
||||
- $LOGS_DIR/ # Supervisor logs
|
||||
|
||||
========================================
|
||||
PORTS
|
||||
@@ -865,8 +865,8 @@ notes: |
|
||||
DOCUMENTATION
|
||||
========================================
|
||||
|
||||
- /workspace/ai/README.md
|
||||
- /workspace/ai/CLAUDE.md
|
||||
- /workspace/ai/COMFYUI_MODELS.md
|
||||
- /workspace/ai/MODELS_LINKED.md
|
||||
- /workspace/ai/models/comfyui/workflows/README.md
|
||||
- $AI_ROOT/README.md
|
||||
- $AI_ROOT/CLAUDE.md
|
||||
- $AI_ROOT/COMFYUI_MODELS.md
|
||||
- $AI_ROOT/MODELS_LINKED.md
|
||||
- $AI_ROOT/comfyui/workflows/README.md
|
||||
|
||||
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
@@ -1,16 +1,16 @@
|
||||
[supervisord]
|
||||
logfile=/workspace/logs/supervisord.log
|
||||
pidfile=/workspace/supervisord.pid
|
||||
childlogdir=/workspace/logs
|
||||
logfile=../logs/supervisord.log
|
||||
pidfile=../supervisord.pid
|
||||
childlogdir=../logs
|
||||
nodaemon=false
|
||||
loglevel=info
|
||||
|
||||
[unix_http_server]
|
||||
file=/workspace/supervisor.sock
|
||||
file=../supervisor.sock
|
||||
chmod=0700
|
||||
|
||||
[supervisorctl]
|
||||
serverurl=unix:///workspace/supervisor.sock
|
||||
serverurl=unix://../supervisor.sock
|
||||
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
@@ -24,52 +24,52 @@ port=0.0.0.0:9001
|
||||
|
||||
# ComfyUI Server
|
||||
[program:comfyui]
|
||||
command=bash /workspace/ai/models/comfyui/start.sh
|
||||
directory=/workspace/ComfyUI
|
||||
command=bash comfyui/start.sh
|
||||
directory=../ComfyUI
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startretries=3
|
||||
stderr_logfile=/workspace/logs/comfyui.err.log
|
||||
stdout_logfile=/workspace/logs/comfyui.out.log
|
||||
stderr_logfile=../logs/comfyui.err.log
|
||||
stdout_logfile=../logs/comfyui.out.log
|
||||
stdout_logfile_maxbytes=50MB
|
||||
stdout_logfile_backups=10
|
||||
stderr_logfile_maxbytes=50MB
|
||||
stderr_logfile_backups=10
|
||||
environment=HF_HOME="/workspace/huggingface_cache",PYTORCH_CUDA_ALLOC_CONF="expandable_segments:True",TQDM_DISABLE="1"
|
||||
environment=HF_HOME="../huggingface_cache",PYTORCH_CUDA_ALLOC_CONF="expandable_segments:True",TQDM_DISABLE="1"
|
||||
priority=100
|
||||
stopwaitsecs=30
|
||||
|
||||
# AI Model Orchestrator
|
||||
[program:orchestrator]
|
||||
command=python3 model-orchestrator/orchestrator_subprocess.py
|
||||
directory=/workspace/ai
|
||||
directory=../ai
|
||||
autostart=false
|
||||
autorestart=true
|
||||
startretries=3
|
||||
stderr_logfile=/workspace/logs/orchestrator.err.log
|
||||
stdout_logfile=/workspace/logs/orchestrator.out.log
|
||||
stderr_logfile=../logs/orchestrator.err.log
|
||||
stdout_logfile=../logs/orchestrator.out.log
|
||||
stdout_logfile_maxbytes=50MB
|
||||
stdout_logfile_backups=10
|
||||
stderr_logfile_maxbytes=50MB
|
||||
stderr_logfile_backups=10
|
||||
environment=HF_HOME="/workspace/huggingface_cache",HF_TOKEN="%(ENV_HF_TOKEN)s"
|
||||
environment=HF_HOME="../huggingface_cache",HF_TOKEN="%(ENV_HF_TOKEN)s"
|
||||
priority=200
|
||||
stopwaitsecs=30
|
||||
|
||||
# ComfyUI WebDAV Sync Service
|
||||
[program:webdav-sync]
|
||||
command=python3 /workspace/ai/webdav-sync/webdav_sync.py
|
||||
directory=/workspace/ai/webdav-sync
|
||||
command=python3 ../ai/webdav-sync/webdav_sync.py
|
||||
directory=../ai/webdav-sync
|
||||
autostart=true
|
||||
autorestart=true
|
||||
startretries=3
|
||||
stderr_logfile=/workspace/logs/webdav-sync.err.log
|
||||
stdout_logfile=/workspace/logs/webdav-sync.out.log
|
||||
stderr_logfile=../logs/webdav-sync.err.log
|
||||
stdout_logfile=../logs/webdav-sync.out.log
|
||||
stdout_logfile_maxbytes=50MB
|
||||
stdout_logfile_backups=10
|
||||
stderr_logfile_maxbytes=50MB
|
||||
stderr_logfile_backups=10
|
||||
environment=WEBDAV_URL="%(ENV_WEBDAV_URL)s",WEBDAV_USERNAME="%(ENV_WEBDAV_USERNAME)s",WEBDAV_PASSWORD="%(ENV_WEBDAV_PASSWORD)s",WEBDAV_REMOTE_PATH="%(ENV_WEBDAV_REMOTE_PATH)s",COMFYUI_OUTPUT_DIR="/workspace/ComfyUI/output"
|
||||
environment=WEBDAV_URL="%(ENV_WEBDAV_URL)s",WEBDAV_USERNAME="%(ENV_WEBDAV_USERNAME)s",WEBDAV_PASSWORD="%(ENV_WEBDAV_PASSWORD)s",WEBDAV_REMOTE_PATH="%(ENV_WEBDAV_REMOTE_PATH)s",COMFYUI_OUTPUT_DIR="../ComfyUI/output"
|
||||
priority=150
|
||||
stopwaitsecs=10
|
||||
|
||||
|
||||
Reference in New Issue
Block a user