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 --upgrade pip RUN pip install --no-cache-dir -r requirements.txt # Verify model file exists RUN if [ ! -f "superkart_prediction.joblib" ]; then \ echo "❌ Model file not found!" && exit 1; \ else \ echo "✅ Model file exists, proceeding"; \ fi # expose port (Spaces listens on 7860) ENV PORT=7860 EXPOSE 7860 # Define the command to start the application using Gunicorn with 4 worker processes # - '-w 4': Uses 4 worker processes for handling requests # - '-b 0.0.0.0:7860': Binds the server to port 7860 on all network interfaces # - 'app: app': Runs the Flask app (assuming 'app.py' contains the Flask instance named 'app') CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:7860", "app:superkart_api"]