# Use lightweight Python image | |
FROM python:3.9-slim | |
# Install system dependencies (fonts + essentials) | |
RUN apt-get update && apt-get install -y \ | |
fonts-dejavu \ | |
fonts-freefont-ttf \ | |
wget \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Set working directory | |
WORKDIR /app | |
# Install Python dependencies first (for layer caching) | |
COPY requirements.txt . | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Copy application files | |
COPY app.py . | |
# Download a nice font (optional) | |
RUN wget https://github.com/googlefonts/roboto/raw/main/src/hinted/Roboto-Black.ttf -O /usr/share/fonts/truetype/Roboto-Bold.ttf \ | |
&& fc-cache -f -v | |
# Set environment variables | |
ENV GRADIO_SERVER_NAME=0.0.0.0 | |
ENV GRADIO_SERVER_PORT=7860 | |
# Run the application | |
CMD ["python", "app.py"] |