MuseTal / Dockerfile
ecommeh's picture
Update Dockerfile
83e82b7 verified
FROM anchorxia/musev:latest
LABEL MAINTAINER="zkangchen"
LABEL Email="zkangchen@tencent.com"
LABEL Description="MuseTalk Gradio image for Hugging Face Spaces"
SHELL ["/bin/bash", "--login", "-c"]
# Create a user and switch to it
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
WORKDIR $HOME/app
# Clone MuseTalk repo
RUN git clone -b main --recursive https://github.com/TMElyralab/MuseTalk.git MuseTalkBase
RUN git clone https://huggingface.co/spaces/e-commint/MuseTal MuseTalk
# Set working directory to MuseTalk project
WORKDIR $HOME/app/MuseTalk
# Make all files executable
RUN chmod -R 777 .
RUN mv $HOME/app/MuseTalkBase/download_weights.sh $HOME/app/MuseTalk/
# Activate conda env and install dependencies
RUN . /opt/conda/etc/profile.d/conda.sh && \
echo "source activate musev" >> ~/.bashrc && \
conda activate musev && \
pip install -r requirements.txt && \
pip install --no-cache-dir -U openmim && \
mim install mmengine && \
mim install "mmcv>=2.0.1" && \
mim install "mmdet>=3.1.0" && \
mim install "mmpose>=1.1.0"
# Optional: Check ffmpeg availability
RUN ffmpeg -codecs || echo "FFmpeg check failed or not installed"
RUN chmod +x download_weights.sh && ./download_weights.sh
# Expose port for Gradio
EXPOSE 7860
CMD ["bash", "-c", "scripts/install_ffmpeg.sh && ./entrypoint.sh"]