| ARG PYTHON_VERSION="3.12.11" | |
| FROM python:${PYTHON_VERSION}-slim | |
| SHELL ["/bin/bash", "-ex", "-o", "pipefail", "-c"] | |
| RUN useradd -m -s /bin/bash -u 1000 superkart | |
| USER superkart | |
| ENV PATH="/home/superkart/.local/bin:$PATH" | |
| WORKDIR /app | |
| COPY --chown=superkart ./requirements.txt requirements.txt | |
| RUN pip install --no-cache-dir --upgrade -r requirements.txt | |
| COPY --chown=superkart . /app | |
| # 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:app"] | |