Sentinel architecture overview

Services, data flows and security architecture of Sentinel v8.0.

Sentinel Updated 1 min read
On this page
  1. Services
  2. Data stores
  3. Data flows
  4. Security

Sentinel v8.0 runs as a set of Docker services on a single Ubuntu GPU server. Browsers connect over HTTPS to an nginx front end, which serves the web console, forwards API calls to the Go API gateway and proxies live video from MediaMTX.

Services

ServiceRole
nginxTLS termination, static web console, API and HLS proxy
API gateway (Go)Authentication (JWT), REST endpoints, WebSocket event stream, audit logging, licence verification
MediaMTXRTSP ingest from cameras, HLS output, recording
AI inferenceGPU object detection (YOLO)
Face recognition / face searchEnrolment, search and matching
Person trackerCross-camera re-identification
Event intelligenceBehaviour analysis and anomaly detection
VMS connectorONVIF discovery and VMS integration
Alert serviceEmail and webhook notifications
Report engineAutomated reports
OllamaLocal LLM for the VedaAI assistant

Data stores

PostgreSQL holds users, cameras, events, cases, watchlists, recordings metadata, evidence, ANPR reads, reports, settings and audit logs. Redis stores refresh tokens, rate-limit counters and sessions; Kafka carries events between services; Milvus stores face embeddings at scale; MinIO stores images and evidence files.

Data flows

  1. Live video: camera (RTSP) → MediaMTX → HLS segments → nginx (HTTPS) → browser player.
  2. AI events: video frames → AI inference → Kafka → event intelligence → API gateway → database and WebSocket broadcast → operator event feed.

Security

  • TLS 1.2 / 1.3 at the front end
  • JWT access tokens with short expiry and refresh tokens held in Redis
  • bcrypt password hashing; initial passwords must be changed at first sign-in
  • Role-based access; audit log of write operations
  • Per-IP rate limiting and WAF rules