# Use a base image with Python FROM python:3.9-slim # Set the working directory in the container WORKDIR /app # Copy the requirements file and install dependencies COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Copy the application files COPY app_flask.py . COPY app.py . COPY best_random_forest_pipeline.joblib . # Expose the port that your Flask app will run on (Gunicorn default is 8000) EXPOSE 8000 # Expose the port that your Streamlit app will run on EXPOSE 8501 # Command to run the application # This command starts Gunicorn for the Flask app in the background # and then starts the Streamlit app. # Note: In a production environment, a process manager like supervisord # is recommended for robust process management. CMD ["sh", "-c", "gunicorn --bind 0.0.0.0:8000 app_flask:app & streamlit run app.py --server.port 8501 --server.enableCORS false --server.enableXsrfProtection false"]