Documentation

Everything you need to deploy EdgeSite NVR: installation, camera onboarding, AI detection tuning, retention policy, remote access, and integrations.

System requirements

EdgeSite NVR runs on hardware you own. The recording and streaming core is a single native binary; AI detection uses your platform's hardware acceleration when available.

PlatformAccelerationNotes
macOS (Apple Silicon)Core ML — Neural Engine + CPURecommended. A Mac mini comfortably runs multi-camera detection on the ANE.
LinuxAMD GPU via ROCm (MIGraphX)CPU fallback available on any x86-64/ARM64 host.
WindowsAMD NPU (VitisAI) → DirectML → CPUNPU support is opt-in via EDGESIGHT_USE_NPU=1.

Storage: any local volume. Recordings are written as standard MPEG-TS segments — plan roughly per-camera bitrate × retention window. PostgreSQL backs the configuration and recording index.

Client apps: iPhone and iPad (iOS 17+), Mac (macOS 14+), and Apple TV (tvOS 17+).

Installation

Install the server, install a detection model, and launch. The server manages its own recording processes and supervises them continuously.

# 1. Install the EdgeSite NVR server package for your platform
# 2. Install a detection model (YOLO ONNX)
./scripts/install-models.sh

# 3. Launch the server (supervised; auto-restarts on failure)
./run_edgesight.sh

On first launch the server initializes its configuration database, generates its credential-encryption key (master.key), and prints a pairing QR code. Scan it with the EdgeSite app to create the admin account and pair your first device.

Back up master.key. Camera credentials are encrypted at rest with this key. Store a copy somewhere safe — without it, stored credentials cannot be recovered.

Useful environment variables

VariablePurpose
EDGESIGHT_MODEL_PATHPath to the YOLO ONNX detection model.
EDGESIGHT_CPU_ONLY=1Force CPU inference (skip GPU/NPU/ANE).
EDGESIGHT_USE_NPU=1Windows: enable AMD NPU execution.

Adding cameras

Three onboarding paths, all from the app:

1. Discover (ONVIF)

EdgeSite scans your network for ONVIF cameras and lists their stream profiles. With one or two profiles, main and sub streams are assigned automatically; with more, you pick which profile serves each role.

2. Vendor templates

Pick your camera brand — Hikvision, Dahua, Reolink, Amcrest, UniFi Protect, and others — enter the IP, credentials, and channel, and EdgeSite renders the correct RTSP URLs. UniFi Protect cameras use their native per-quality rtsps:// stream URLs.

3. Custom URLs

Paste any RTSP or RTSPS URL directly, with an optional second URL for a low-bandwidth sub stream. EdgeSite probes the stream to detect codec and resolution — no manual codec configuration.

Configure a genuine low-resolution sub stream where your camera supports one. Sub streams power fast grid tiles, timeline scrubbing, and cellular playback.

AI detection

Object detection runs entirely on the NVR using YOLO models over ONNX Runtime. Detected objects include people, vehicles (car, truck, bus, motorcycle, bicycle), and animals.

Storage & retention

Retention is two-tier and event-protected. Full-resolution recordings, sub-stream recordings, and event archives each have their own window:

SettingDefaultWhat it controls
hd_retention_days7Full-resolution (main stream) continuous recording.
sub_retention_days30Low-bandwidth sub-stream recording for long-tail review.
event_retention_days90Detection events, snapshots, and their protected footage.

Segments that overlap a protected event are preserved even after the continuous window expires. A disk-pressure guard runs hourly: at 80% usage you get a storage warning push; at 90% cleanup accelerates to bring usage back under 85% — oldest, non-event footage first.

Remote access

Remote access needs no port forwarding, no VPN, and no cloud DVR. Your NVR holds a persistent outbound connection to a lightweight signaling relay; when you open the app away from home, the relay authenticates your device against your NVR and brokers a WebRTC session. Video then flows peer-to-peer, encrypted, directly between your phone and your NVR.

Notifications

Push notifications carry a snapshot thumbnail and deep-link to the event. Delivery is tunable per camera:

MQTT & webhooks

Both are opt-in and hot-reloaded — no restart required.

MQTT

mqtt_enabled = true
mqtt_host = 192.168.1.10
mqtt_port = 1883
mqtt_topic_prefix = edgesight   # set to "frigate" for Home Assistant Frigate blueprints

Events publish to {prefix}/events in a Frigate-compatible JSON schema, with a retained availability topic and offline last-will — so Home Assistant automations built for Frigate work unchanged.

Webhooks

Set webhook_urls to one or more HTTP(S) endpoints. Each event POSTs the same JSON payload with an X-EdgeSight-Event header, with automatic retries.

Security model

Need help with a deployment? Contact support — Pro and Enterprise plans include guided setup.