SentinelEdge / Dockerfile
shiven99's picture
Deploy SentinelEdge demo to HF Spaces
8ee5513
# SentinelEdge Demo - Hugging Face Spaces Deployment
# Serves React frontend + FastAPI backend from a single container
FROM node:20-slim AS frontend-build
WORKDIR /build
COPY demo/frontend/package.json demo/frontend/package-lock.json* ./
RUN npm install --production=false
COPY demo/frontend/ .
RUN npm run build
# --- Python runtime ---
FROM python:3.11-slim
# System deps for PyNaCl (libsodium)
RUN apt-get update && \
apt-get install -y --no-install-recommends libsodium-dev && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Install only the deps we actually need for the demo (no whisper/pyaudio/onnx)
COPY requirements-deploy.txt .
RUN pip install --no-cache-dir -r requirements-deploy.txt
# Copy project code
COPY sentinel_edge/ sentinel_edge/
COPY hub/ hub/
COPY demo/backend/ demo/backend/
COPY models/ models/
COPY federated/ federated/
# Copy built frontend into a static dir the backend will serve
COPY --from=frontend-build /build/dist /app/static
# Copy the deployment server entrypoint
COPY deploy_server.py .
# HF Spaces expects port 7860
ENV PORT=7860
EXPOSE 7860
CMD ["python", "deploy_server.py"]