# Use an official Python runtime as the base image FROM python:3.9-slim # Set working directory WORKDIR /app # Install system dependencies RUN apt-get update && apt-get install -y \ git \ libgl1-mesa-glx \ libglib2.0-0 \ && rm -rf /var/lib/apt/lists/* # Install Cog RUN pip install cog==0.9.7 # Copy the repository files COPY . . # Install Python dependencies from requirements.txt RUN pip install --no-cache-dir -r requirements.txt # Download weights at runtime using the HF_TOKEN from the environment # Assuming script/download-weights uses HF_TOKEN env var RUN echo "Weights will be downloaded at runtime using HF_TOKEN" # Expose the port Cog typically uses EXPOSE 5000 # Set environment variable to disable GPU (force CPU) ENV CUDA_VISIBLE_DEVICES="" # Command to run the Cog server, downloading weights if needed CMD ["sh", "-c", "cog run script/download-weights $HF_TOKEN && cog run -p 5000"]