Files
aadebuger-ComfyUI-VideoToText/scripts/install_server.sh
T

104 lines
3.0 KiB
Bash
Executable File

#!/bin/bash
#
# install_server.sh — idempotent server-side install for ComfyUI-VideoToText.
#
# Usage:
# COMFYUI_DIR=/mnt/modelall/ComfyUI ./scripts/install_server.sh
#
# What it does:
# 1. Verifies ffmpeg is on PATH
# 2. Installs torchaudio into ComfyUI's venv (uv-managed)
# 3. Smoke-tests the imports
#
# What it does NOT do:
# - Install MiMoASR (use that pack's own install_server.sh)
# - Install rgthree-comfy (clone it manually if needed)
# - Download model weights
# - Restart ComfyUI (you do this after; see README Step 7)
#
set -euo pipefail
# ----- helpers -----
log() { printf '\033[1;34m[+]\033[0m %s\n' "$*"; }
warn() { printf '\033[1;33m[!]\033[0m %s\n' "$*"; }
err() { printf '\033[1;31m[x]\033[0m %s\n' "$*" >&2; }
# ----- 1. ffmpeg -----
log "Checking ffmpeg ..."
if ! command -v ffmpeg >/dev/null 2>&1; then
err "ffmpeg not on PATH. Install with: sudo apt install ffmpeg"
exit 1
fi
ffmpeg -version | head -1
# ----- 2. ComfyUI venv -----
: "${COMFYUI_DIR:?Please set COMFYUI_DIR (e.g. /mnt/modelall/ComfyUI)}"
if [[ ! -d "$COMFYUI_DIR/.venv" ]]; then
err "ComfyUI venv not found: $COMFYUI_DIR/.venv"
exit 1
fi
log "Activating ComfyUI venv ..."
# shellcheck disable=SC1091
source "$COMFYUI_DIR/.venv/bin/activate"
# Pick uv if available; fall back to pip
if command -v uv >/dev/null 2>&1; then
PIP="uv pip"
else
PIP="pip"
fi
# ----- 3. torchaudio -----
log "Installing torchaudio ..."
$PIP install torchaudio
log "Smoke-test imports ..."
python - <<'PY'
import sys
ok = True
try:
import torchaudio
print(f" torchaudio {torchaudio.__version__} OK")
except Exception as e:
print(f" torchaudio FAILED: {e}"); ok = False
try:
import folder_paths # ComfyUI core module
print(f" folder_paths OK ({folder_paths.__file__})")
except Exception as e:
print(f" folder_paths (ComfyUI core): cannot import outside ComfyUI runtime — that's normal, skipping")
sys.exit(0 if ok else 1)
PY
# ----- 4. final advice -----
cat <<'NEXT'
[+] torchaudio installed.
Next steps (manual):
1. If not yet installed: clone ComfyUI-MiMoASR and rgthree-comfy
$ cd "$COMFYUI_DIR/custom_nodes"
$ git clone https://github.com/aadebuger/ComfyUI-MiMoASR.git
$ git clone https://github.com/rgthree/rgthree-comfy.git
2. Download MiMo weights (~24 GB):
$ export HF_HOME=/mnt/modelall/hf_cache
$ hf download XiaomiMiMo/MiMo-V2.5-ASR --local-dir /mnt/modelall/models/MiMo-V2.5-ASR
$ hf download XiaomiMiMo/MiMo-Audio-Tokenizer --local-dir /mnt/modelall/models/MiMo-Audio-Tokenizer
3. Clone MiMo upstream repo:
$ git clone https://github.com/XiaomiMiMo/MiMo-V2.5-ASR.git /opt/repos/MiMo-V2.5-ASR
4. Restart ComfyUI with required env vars:
$ pkill -9 -f main.py; sleep 3
$ export HF_HOME=/mnt/modelall/hf_cache
$ export MIMO_ASR_REPO=/opt/repos/MiMo-V2.5-ASR
$ cd "$COMFYUI_DIR" && source .venv/bin/activate
$ nohup python main.py --listen 0.0.0.0 --port 8188 > ~/comfy_start.log 2>&1 &
5. Verify 9 nodes registered (see README Step 8).
NEXT