# # Use a minimal Python base image # FROM python:3.9-slim # # Set working directory inside the container # WORKDIR /app # # Copy requirements first for caching # COPY requirements.txt . # # Install dependencies # RUN pip install --upgrade pip && \ # pip install -r requirements.txt # # Copy all files into the container # COPY . . # # Expose Streamlit's default port # EXPOSE 8501 # # Run the Streamlit app # # This passes the NVIDIA_API_KEY from the Hugging Face Space Secrets # CMD ["streamlit", "run", "data_analysis_agent.py", \ # "--server.port=8501", \ # "--server.address=0.0.0.0", \ # "--server.enableXsrfProtection=false"] FROM python:3.9-slim RUN useradd -m -u 1000 user USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH WORKDIR $HOME/app COPY --chown=user . $HOME/app # Run apt-get update and install as root USER root RUN apt-get update && apt-get install -y \ build-essential \ curl \ git \ && rm -rf /var/lib/apt/lists/* USER user # COPY requirements.txt ./ # COPY src/ ./src/ COPY . . RUN pip3 install -r requirements.txt EXPOSE 8501 HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health ENTRYPOINT ["streamlit", "run", "data_analysis_agent.py", "--server.port=8501", "--server.address=0.0.0.0", "--server.enableXsrfProtection=false"]