github-actions
Deploy to Hugging Face
c794b6b
Raw
History Blame Contribute Delete
1.78 kB
# /Dockerfile (in the root of your repository)
FROM python:3.11-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
libglib2.0-0 \
libgomp1 \
libgl1 \
build-essential \
cmake \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
ENV CEPHEUS_CLOUD=1
ENV CEPHEUS_FORCE_FULL_VISION=1
ENV FACE_MODEL_PACK=buffalo_sc
ENV FACE_MODEL_ROOT=/app/model_cache
ENV PORT=7860
ENV OMP_NUM_THREADS=4
ENV OPENBLAS_NUM_THREADS=4
ENV MKL_NUM_THREADS=4
ENV CEPHEUS_FACE_WORKERS=4
ENV CEPHEUS_KEEP_WARM_SEC=120
ENV CEPHEUS_KEEP_WARM_INITIAL_SEC=45
COPY backend/requirements-cloud.txt /app/requirements.txt
RUN pip install --no-cache-dir -r /app/requirements.txt
RUN python -c "\
import os; \
from insightface.app import FaceAnalysis; \
app = FaceAnalysis(name=os.environ.get('FACE_MODEL_PACK', 'buffalo_sc'), \
root='/app/model_cache', \
providers=['CPUExecutionProvider']); \
app.prepare(ctx_id=-1, det_size=(320,320)); \
print('InsightFace model pre-baked OK')"
# Copy only the necessary backend files
COPY backend/*.py /app/
# Explicit copies as fallback in case wildcard glob misses files on some CI runners
COPY backend/face_live_search.py /app/face_live_search.py
COPY backend/face_metadata.py /app/face_metadata.py
RUN mkdir -p /app/Face_Recognition/faces_db /app/Face_Recognition/temp_faces_db /app/Face_Recognition/face_database /app/data /app/uploads
COPY backend/Face_Recognition/*.py /app/Face_Recognition/
COPY backend/Face_Recognition/faces_db/ /app/Face_Recognition/faces_db/
COPY backend/Face_Recognition/temp_faces_db/ /app/Face_Recognition/temp_faces_db/
# face_database/ is runtime-only on HF (no enrollment JPGs in git); mkdir above is enough
EXPOSE 7860
CMD ["sh", "-c", "exec uvicorn main:app --host 0.0.0.0 --port ${PORT:-7860}"]