J Z commited on
Update Dockerfile
Browse files- Dockerfile +12 -3
Dockerfile
CHANGED
|
@@ -44,14 +44,23 @@ RUN pip install --no-cache-dir \
|
|
| 44 |
# Create dirs
|
| 45 |
RUN mkdir -p /tmp/videos /tmp/tts_output /tmp/lipsync_output
|
| 46 |
|
| 47 |
-
# Pre-download SNAC decoder
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
RUN python -c "from huggingface_hub import snapshot_download; \
|
| 49 |
-
snapshot_download('hubertsiuzdak/snac_24khz'); \
|
| 50 |
snapshot_download('canopylabs/orpheus-3b-0.1-ft')" \
|
| 51 |
-
|| echo 'WARNING:
|
|
|
|
|
|
|
| 52 |
|
| 53 |
# ---- APP CODE (only this rebuilds on code changes) ----
|
| 54 |
COPY --chown=user ./app.py ./llm.py ./tts.py ./float_lipsync.py /app/
|
| 55 |
|
|
|
|
|
|
|
|
|
|
| 56 |
EXPOSE 7860
|
| 57 |
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
|
|
|
|
| 44 |
# Create dirs
|
| 45 |
RUN mkdir -p /tmp/videos /tmp/tts_output /tmp/lipsync_output
|
| 46 |
|
| 47 |
+
# Pre-download SNAC decoder (public, cached in Docker layer)
|
| 48 |
+
RUN python -c "from huggingface_hub import snapshot_download; \
|
| 49 |
+
snapshot_download('hubertsiuzdak/snac_24khz')" \
|
| 50 |
+
|| echo 'WARNING: SNAC pre-download failed'
|
| 51 |
+
|
| 52 |
+
# Pre-download finetuned model as fallback (NOT gated, cacheable)
|
| 53 |
RUN python -c "from huggingface_hub import snapshot_download; \
|
|
|
|
| 54 |
snapshot_download('canopylabs/orpheus-3b-0.1-ft')" \
|
| 55 |
+
|| echo 'WARNING: Orpheus FT pre-download failed'
|
| 56 |
+
|
| 57 |
+
# NOTE: Pretrained model (for voice cloning) is GATED - downloads at runtime with HF_TOKEN
|
| 58 |
|
| 59 |
# ---- APP CODE (only this rebuilds on code changes) ----
|
| 60 |
COPY --chown=user ./app.py ./llm.py ./tts.py ./float_lipsync.py /app/
|
| 61 |
|
| 62 |
+
# Copy voice reference + transcript for voice cloning (if present in repo)
|
| 63 |
+
COPY --chown=user ./voice* /app/
|
| 64 |
+
|
| 65 |
EXPOSE 7860
|
| 66 |
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
|