# Use an official Python runtime as a parent image FROM python:3.9-slim # Install system dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ python3-dev \ wget \ && rm -rf /var/lib/apt/lists/* # Set environment variables ENV PYTHONUNBUFFERED=1 ENV PYTHONIOENCODING=UTF-8 # Set working directory in the container WORKDIR /app # Copy the requirements file into the container COPY requirements.txt /app/ # Install dependencies RUN pip install --no-cache-dir -r requirements.txt # Install data science packages RUN pip install --no-cache-dir \ pandas \ scikit-learn \ matplotlib \ seaborn # Copy the FastAPI app code into the container COPY . /app RUN chmod +x /app/download_data.sh RUN /app/download_data.sh # Expose the port FastAPI will run on EXPOSE 7860 # Command to run the FastAPI app with Uvicorn CMD ["uvicorn", "app.jupyter_api:app", "--host", "0.0.0.0", "--port", "7860"]