104 lines
3.0 KiB
Bash
Executable File
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
|