Spaces:
Running
Running
File size: 1,028 Bytes
6fc3143 60e9dd0 6fc3143 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
FROM python:3.11-slim
# Install system dependencies for Manim and general usage
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
ffmpeg \
libcairo2-dev \
libpango1.0-dev \
texlive \
texlive-latex-extra \
texlive-fonts-recommended \
dvisvgm \
pkg-config \
python3-dev \
sudo \
espeak-ng \
&& rm -rf /var/lib/apt/lists/*
# Create a non-root user (Hugging Face requirement)
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
WORKDIR $HOME/app
# Copy requirements first to leverage Docker cache
COPY --chown=user requirements.txt .
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Copy the rest of the application
COPY --chown=user . .
# Make start script executable
RUN chmod +x start.sh
# Expose the port (Hugging Face Spaces uses 7860 by default)
EXPOSE 7860
# Set environment variables
ENV PYTHONUNBUFFERED=1
# Run the start script
CMD ["./start.sh"] |