render-video / Dockerfile
parthraninga's picture
Update Dockerfile
eb5564e verified
# Set environment variable to prevent interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive
# Install all potential system-level dependencies for a full Manim installation
# This "kitchen sink" approach helps prevent future build errors.
RUN apt-get update && apt-get install -y --no-install-recommends \
# --- Core Build Tools ---
build-essential \
pkg-config \
# --- Manim Dependencies ---
ffmpeg \
texlive-full \
libcairo2-dev \
libpango1.0-dev \
# --- Extra Dependencies for Optional Features (e.g., manim-voiceover) ---
libgl1-mesa-glx \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender1 \
espeak \
sox \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install Python packages specified in requirements.txt
RUN pip install --no-cache-dir --upgrade -r requirements.txt
# Copy all the application files (app.py, proof.py, etc.) into the container
COPY . .
# Expose the port Gradio runs on (7860)
EXPOSE 7860
# The command to run when the container starts: launch the Gradio app
CMD ["gradio", "app.py"]