Spaces:
Sleeping
Sleeping
| # LSF interpreter — browser-camera Django app, ready for Hugging Face Spaces. | |
| FROM python:3.11-slim | |
| # System libs needed by OpenCV / MediaPipe at import time. | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| libgl1 \ | |
| libglib2.0-0 \ | |
| libsm6 \ | |
| libxext6 \ | |
| libxrender1 \ | |
| && rm -rf /var/lib/apt/lists/* | |
| ENV PYTHONUNBUFFERED=1 \ | |
| PYTHONDONTWRITEBYTECODE=1 \ | |
| PIP_NO_CACHE_DIR=1 \ | |
| LSF_DEBUG=0 \ | |
| # Max-speed defaults for the free CPU tier; override at deploy time. | |
| LSF_MODEL_COMPLEXITY=0 \ | |
| LSF_REFINE_FACE=0 | |
| WORKDIR /app | |
| COPY requirements.txt . | |
| RUN pip install --upgrade pip && pip install -r requirements.txt | |
| COPY . . | |
| # Collect static assets so whitenoise can serve them under gunicorn. | |
| RUN python web/manage.py collectstatic --noinput | |
| EXPOSE 7860 | |
| # One worker (MediaPipe session + transcript are in-memory shared state), | |
| # multiple threads for concurrent static/API requests. | |
| CMD gunicorn --chdir web web.wsgi:application \ | |
| --bind 0.0.0.0:${PORT:-7860} \ | |
| --workers 1 --threads 8 --timeout 120 | |