# Use the official Python image from Docker Hub FROM python:3.10-slim # Install system dependencies RUN apt-get update && \ apt-get install -y --no-install-recommends \ cmake \ build-essential \ libssl-dev \ && rm -rf /var/lib/apt/lists/* # Set the working directory WORKDIR /app # Copy requirements and install COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copy the application code COPY app.py . COPY components.py . COPY data_utils.py . COPY assets assets # Expose the port Dash will run on EXPOSE 7860 # Example of using a build-time secret RUN --mount=type=secret,id=MATERIALS_PROJECT_API_KEY \ echo "Using secret during build" # Create the cache directory and set permissions RUN mkdir -p /app/.cache && chmod -R 777 /app/.cache # Set an environment variable for Hugging Face cache ENV HF_HOME=/app/.cache # Run the app CMD ["python", "app.py"]