Documentation

Configuration

Configuration is OpenNVR’s tabbed settings area, reached at Settings in the sidebar (route /settings). It’s a registry of tabs at /settings/:tab, with a breadcrumb showing Configuration / <Tab> / <Sub-panel>.

[!NOTE] Viewing settings requires the settings.view permission; changing them requires settings.manage. Several panels (WebRTC, Security, Media-Source) are superuser-only and show “Admin only.” to everyone else.

Configuration — settings tabs with the sub-panel sidebar

What you can do here

  • Switch between tabs from the top bar: General, Security, Webrtc, Camera-Config, Recording, Media-Source, and More Settings.
  • Tabs with sub-panels show a left sidebar; tabs without (WebRTC, Camera-Config, Recording) render a single panel.
  • Each panel has its own Save button — changes are saved per panel, not globally.

General

The General tab has a left sidebar of sub-panels:

  • General — the System panel: Device Name, Timezone, Enable NTP, and NTP Server (e.g. pool.ntp.org).
  • Alarm — alarm-related settings.
  • RS-232 — serial port settings.
  • Live View — live-view display preferences.
  • Exceptions — exception/event handling settings.
  • User — user-facing preferences.
  • POS — point-of-sale text overlay settings.

To rename the appliance or fix its clock, open General → General, edit Device Name / Timezone, toggle Enable NTP and set the NTP Server, then Save.

Security

The Security tab groups the network-hardening panels (all superuser-only):

  • Firewall — create allow/deny rules with direction (inbound/outbound), protocol (tcp/udp/any), port range, sources, priority, and enabled state.
  • Port Settings — service port mappings (internal/external), HTTPS enabled, redirect HTTP to HTTPS, and TLS certificate issuer/expiry.
  • Platform Access — allowed origins and CIDRs, idle timeout, absolute session hours, concurrent session limit, and which roles have MFA required.
  • NAT — public IP, STUN/TURN servers, UPnP, and port mappings.

WebRTC

The Webrtc tab is a single panel (superuser-only) for tuning live-view delivery:

  • STUN Servers and TURN Servers (URL / username / credential) lists.
  • ICE — transport policy (all / relay), candidate pool size, trickle ICE toggle.
  • Bandwidth — video/audio max bitrate (kbps), Max FPS, and a resolution cap (width × height).
  • Preferred Video/Audio Codecs — ordered lists (top is most preferred).

Adjust these when live view stutters or won’t connect across NAT — add a TURN server, or lower the video max bitrate / resolution cap.

Camera-Config

The Camera-Config tab is a single panel that surfaces multi-vendor camera settings (ONVIF plus vendor drivers). See the dedicated Camera Configuration docs for the read-only device settings it exposes.

Recording

The Recording tab is a single panel with two sections:

  • Storage Location — the Recording Path where recordings are written. Leave empty to use the auto-detected default (Docker: /app/recordings, Local: ./recordings). Changing it affects new recordings only; existing files stay where they are.
  • Retention PolicyRetention Days (0 keeps everything), Protect Flagged Recordings (flagged/bookmarked clips are never auto-deleted), and Minimum Free Space (GB) (when free space drops below this, the oldest recordings are purged; leave empty to disable).

Each section has its own Save Storage Settings / Save Retention Settings button. See Storage & Retention for the full retention model.

Media-Source

The Media-Source tab has two sub-panels (superuser-only):

  • Settings — the Media Source Settings panel, grouped into Playback Base (media-server base URL, access token, stream prefix, path mode id/ip), Publishing / RTSP Proxy (RTSP publish URL, RTSP proxy toggle, FFmpeg binary), Media Server Admin API (base with /v3, admin token, webhook token, recordings path), Playback protocols (Enable HLS / Low-Latency HLS), and Transcoding (codec, bitrate, FPS, scale).
  • Media Server Manager — manage the embedded media server directly.

See Media Server for how these settings drive the streaming backend.

[!TIP] More Settings (Window Settings, Uplink) holds miscellaneous options. Legacy paths redirect out of Settings — Manage Cameras now lives under Cameras, and Certificates moved to BYOK.

📸 Screenshots to capture

Save to opennvr-site/public/screenshots/ with these exact filenames:

  • settings-overview.png — the Configuration screen with the top tab bar and a sub-panel sidebar visible (e.g. the General tab).
  • settings-recording.png — the Recording tab showing the Storage Location and Retention Policy sections.
  • settings-webrtc.png — the Webrtc panel showing STUN/TURN, ICE, and Bandwidth sections.
  • settings-media-source.png — the Media-Source → Settings panel showing the grouped sections.