FROM python:3.9-slim # Set the working directory inside the container WORKDIR /app # Copy all files from the current directory to the container's working directory COPY . . # Install dependencies from the requirements file without using cache to reduce image size RUN pip install --no-cache-dir --upgrade -r requirements.txt # Expose the default port for Hugging Face Spaces or Docker runs EXPOSE 7860 # Define the command to start the Flask application using Gunicorn # - `-w 4`: 4 worker processes for concurrency # - `-b 0.0.0.0:7860`: Binds to port 7860 on all interfaces # - `app:churn_predictor_api`: Refers to the Flask app object inside app.py CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:7860", "app:churn_predictor_api"]