Spaces:
Sleeping
Sleeping
| 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"] | |