FROM python:3.9-slim WORKDIR /app # Install system dependencies including PortAudio, Python dev headers, ALSA, # and now also OpenGL libraries required by OpenCV. RUN apt-get update && apt-get install -y \ build-essential \ curl \ software-properties-common \ git \ portaudio19-dev \ python3-dev \ libasound2-dev \ libgl1-mesa-glx \ libglib2.0-0 \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt ./ # Assuming your main application script is in 'src/streamlit_app.py' # and any other source code is also under 'src/' COPY src/ ./src/ # It's good practice to upgrade pip first RUN pip3 install --upgrade pip RUN pip3 install -r requirements.txt EXPOSE 8501 HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health # Ensure your main Streamlit app file is correctly referenced here. # If your app file is directly in /app (e.g., app_streamlit_new.py from previous examples), # adjust the ENTRYPOINT accordingly. ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]