first stab at adding video

This commit is contained in:
2026-04-12 04:11:52 -04:00
parent 680c5b04cc
commit 2818b41004
37 changed files with 2982 additions and 24 deletions
+23
View File
@@ -4,6 +4,9 @@ ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1
# HuggingFace model cache — mounted as a volume so models persist across runs
ENV HF_HOME=/cache/huggingface
# LoRA directory — users drop .safetensors files here and reference them
# from config.yml::video.loras. Bind-mounted via docker-compose.
ENV LORA_DIR=/cache/loras
RUN apt-get update && apt-get install -y \
python3.11 \
@@ -38,6 +41,26 @@ RUN python3.11 -m pip install --no-cache-dir -r requirements.txt
# Pre-download the spacy model that kokoro needs at runtime
RUN python3.11 -m spacy download en_core_web_sm
# --- Optional: avatar video stack -------------------------------------------
# These are heavy installs; keep them after the core deps so rebuilds only
# redo this layer when ONLY the video stack changes. If you don't plan to
# use config.video.enabled=true, you can comment this block out to speed
# up builds and shrink the image.
#
# LightX2V (Wan2.2-Lightning inference framework) — installed from source
# since there is no stable PyPI release yet.
RUN python3.11 -m pip install --no-cache-dir \
"git+https://github.com/ModelTC/LightX2V.git" || \
echo "LightX2V install failed — config.video.enabled must stay false until fixed"
#
# MuseTalk (audio-driven lip-sync) — same story.
RUN python3.11 -m pip install --no-cache-dir \
"git+https://github.com/TMElyralab/MuseTalk.git" || \
echo "MuseTalk install failed — config.video.enabled must stay false until fixed"
#
# LoRA directory (user drops .safetensors here; bind-mounted in compose).
RUN mkdir -p /cache/loras
COPY . .
EXPOSE 8000