# Use an official Python runtime as a parent image FROM python:3.9-slim # Set the working directory in the container WORKDIR /app # Install system dependencies RUN apt-get update && apt-get install -y \ build-essential \ curl \ software-properties-common \ && rm -rf /var/lib/apt/lists/* # Copy the requirements file into the container COPY requirements.txt . # Install any needed packages specified in requirements.txt RUN pip install --no-cache-dir -r requirements.txt # Copy the application code into the container COPY app/ ./app/ COPY config/ ./config/ COPY data/ ./data/ COPY grafana/ ./grafana/ COPY .env ./ # Make port 8501 available to the world outside this container EXPOSE 8501 # Run the Streamlit app when the container launches CMD ["streamlit", "run", "app/main.py", "--server.port=8501", "--server.address=0.0.0.0"]