# Start from a standard Python image FROM python:3.10-slim # Set the working directory inside the container WORKDIR /app # 1. Install system dependencies from packages.txt # First, copy the file over COPY packages.txt . # Then, update apt and install all packages listed in the file RUN apt-get update && \ apt-get install -y --no-install-recommends $(cat packages.txt) && \ rm -rf /var/lib/apt/lists/* # 2. Install Python dependencies COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # 3. Copy all your application code from your repo into the container # This will copy the 'src' folder, README, etc. COPY . . # Expose the port Streamlit runs on EXPOSE 8501 # Run the app. # Note: We must tell streamlit to run the app from inside the 'src' folder CMD ["streamlit", "run", "src/app.py", "--server.port=8501", "--server.address=0.0.0.0"]