github-actions
Deploy to Hugging Face
c794b6b
Raw
History Blame Contribute Delete
1.75 kB
# Cloud Run / Hugging Face Spaces (Docker SDK). Build from repo root:
# docker build -f backend/Dockerfile.hf -t cepheus-api ./backend
#
# HF expects port 7860 by default (overridable via PORT).
FROM python:3.11-slim
# build-essential + cmake are needed to build the insightface wheel (face recognition).
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 ALLOW_PUBLIC_VISION=1
ENV CEPHEUS_WS_OPEN=1
ENV CEPHEUS_PRESENCE_TTL=45
ENV CEPHEUS_PUBLIC_VISION=1
ENV CEPHEUS_EMBEDDINGS_STARTUP_ONLY=1
ENV CEPHEUS_WS_RECEIVE_TIMEOUT=300
ENV GOSSIP_AUTO_ROOT_SWITCH=0
ENV CEPHEUS_FRAME_SKIP=4
ENV CEPHEUS_INFER_WIDTH=320
ENV CEPHEUS_KEEP_WARM_SEC=120
ENV CEPHEUS_KEEP_WARM_INITIAL_SEC=45
COPY requirements-cloud.txt /app/requirements.txt
RUN pip install --no-cache-dir -r /app/requirements.txt
COPY main.py vision_engine_cloud.py vision_engine.py vision_runtime.py vision_pipeline.py vision_session.py agentic_service.py agentic_orchestrator.py gemini_config.py emergency_maps_service.py face_metadata.py alert_routing.py auth_service.py refresh_token_store.py observability.py security_headers.py rate_limiter.py persistence.py security_config.py store_locks.py /app/
RUN mkdir -p /app/Face_Recognition /app/data /app/uploads
COPY Face_Recognition/*.py ./Face_Recognition/
EXPOSE 7860
CMD ["sh", "-c", "exec uvicorn main:app --host 0.0.0.0 --port ${PORT:-7860}"]