| |
| 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 backend/*.py /app/ |
| |
| 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/ |
| |
|
|
| EXPOSE 7860 |
|
|
| CMD ["sh", "-c", "exec uvicorn main:app --host 0.0.0.0 --port ${PORT:-7860}"] |
|
|