CoolFace
Apppublic

Explicite/api-test

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
Dockerfile51 linesDownload Raw Back to root
1FROM python:3.12-slim2 3# Evita prompts, mejora logs4ENV PYTHONDONTWRITEBYTECODE=1 \5    PYTHONUNBUFFERED=1 \6    PIP_NO_CACHE_DIR=1 \7    PIP_DISABLE_PIP_VERSION_CHECK=18 9# Dependencias del sistema:10# - libgl1 y libglib2.0-0: necesarias para OpenCV11# - build-essential/g++/python3-dev/pkg-config: necesarios para compilar wheels (ej: insightface)12# - ca-certificates/curl/git: útil para descargas y debug13# - tesseract-ocr + lenguajes: OCR para clasificación de documentos14RUN apt-get update && apt-get install -y --no-install-recommends \15    libgl1 \16    libglib2.0-0 \17    curl \18    ca-certificates \19    git \20    build-essential \21    g++ \22    python3-dev \23    pkg-config \24    tesseract-ocr \25    tesseract-ocr-eng \26    tesseract-ocr-spa \27  && rm -rf /var/lib/apt/lists/*28 29WORKDIR /app30 31# Instala deps primero (mejor cache)32COPY requirements.txt /app/requirements.txt33RUN pip install --upgrade pip && pip install -r requirements.txt34 35# Copia tu código36COPY app /app/app37 38# Cachear modelos de InsightFace en build (recomendado)39# InsightFace usa por defecto ~/.insightface; lo movemos dentro del contenedor40ENV INSIGHTFACE_HOME=/app/.insightface41RUN mkdir -p /app/.insightface42 43# Pre-descarga y prepara el modelo (para que no tarde en el primer request)44RUN python -c "from insightface.app import FaceAnalysis; fa=FaceAnalysis(name='buffalo_l'); fa.prepare(ctx_id=-1, det_size=(640,640)); print('InsightFace model ready')"45 46# Hugging Face Spaces suele exponer 786047EXPOSE 786048 49# Respeta PORT si HF lo define50CMD ["bash", "-lc", "uvicorn app.main:app --host 0.0.0.0 --port ${PORT:-7860}"]51