Configuration reference
Use Settings for normal administration. The installed service reads environment
configuration from /etc/evernvr/evernvr.env; changes require a service restart
and therefore a planned recording gap. A source checkout can set variables in
the process environment.
| Variable | Purpose |
|---|---|
PORT | Listener port, HTTPS with plain HTTP redirected; default 3099 |
EVERNVR_BIND | Listening address; the installer writes the selected LAN address. Unset listens on every interface |
EVERNVR_INTERFACE | Network interface to listen on instead, such as eno1, written by the installer's --interface. The recorder takes the interface's IPv4 address, or a global IPv6 one when it has no IPv4, checks it every 10 seconds, and moves the listener when it changes. It listens on 127.0.0.1 if the interface has no address at startup. Overrides EVERNVR_BIND |
EVERNVR_DATA | Database, key, settings, and default media directory; production uses /var/lib/evernvr |
EVERNVR_MEDIA | Initial media directory; a saved storage selection takes precedence |
EVERNVR_PUBLIC_ORIGIN | Browser-facing origin for links; otherwise use the saved recorder address |
EVERNVR_TLS_CERT | PEM certificate chain from the site's own CA, in place of the recorder's own; pair with the key |
EVERNVR_TLS_KEY | Matching unencrypted PEM private key; pair with the certificate |
EVERNVR_TLS=0 | Serve plain HTTP only, for development |
EVERNVR_MDNS=0 | Disable service advertising: the _http._tcp (or _https._tcp) service browsers find, and the _evernvr._tcp service the mobile app looks for |
EVERNVR_TZ | Time zone the recorder writes and schedules in, and sets on its cameras; defaults to the host's |
EVERNVR_NTP=0 | Do not serve NTP to cameras on UDP port 123. Cameras are then not pointed at the recorder for their time; the regular clock checks still correct them |
EVERNVR_PYTHON | Absolute path to an existing detector Python interpreter |
EVERNVR_DETECT_BACKEND | auto, onnx, or hailo; a saved preference wins |
EVERNVR_DETECT_MODEL | Model under models/; default damoyolo_tinynasL20_T |
EVERNVR_DETECT_FPS | Detections per second per camera, site-wide; default 5 |
EVERNVR_SEMANTIC=0 | Disable local semantic processing |
EVERNVR_RECOGNITION=0 | Disable local face and plate recognition, whatever Settings → Recognition says |
EVERNVR_LOG_LEVEL | Lowest level written to the recorder log: debug, info, warn, error |
EVERNVR_BACKUP_BUDGET_GB | Size the default backup folder on the system disk is kept within, nightly backups and pre-migration snapshots together; default 4. A backup folder on a NAS or second drive is bounded by its count alone |
EVERNVR_DETECT_FPS is the lever for fitting more cameras onto one
accelerator; see detection capacity before
changing it. Set the recorder's zone under Settings → This recorder →
Recorder clock; EVERNVR_TZ is only needed to pin a zone that differs from
the host's. Schedules, reports, and the timeline all follow it, and while it is
set a zone chosen in Settings changes the host's zone but not the one the
recorder writes in.
Setting only one TLS path or using a mismatched certificate and key prevents startup. An expired certificate is served with a health warning so recording can continue; replace it and restart promptly.
Notification services
Environment-provided service settings appear read-only in the UI and override stored values. Prefer the UI unless the deployment manages these centrally.
| Service | Variables |
|---|---|
| SMTP | EVERNVR_SMTP_HOST, EVERNVR_SMTP_PORT, EVERNVR_SMTP_FROM, EVERNVR_SMTP_USER, EVERNVR_SMTP_PASSWORD |
| Telnyx | EVERNVR_TELNYX_FROM, EVERNVR_TELNYX_API_KEY |
Push has no settings. EVERNVR_NTFY_ORIGIN and EVERNVR_NTFY_TOKEN from
earlier releases are ignored and can be removed.
Do not put real keys, camera passwords, recipient addresses, or host environment files into source control. See notifications for transport requirements and tests.
Installed paths
| Path | Contents |
|---|---|
/opt/evernvr/current | The running release and its maintenance tool (a link into /opt/evernvr/releases) |
/opt/evernvr/previous | The previous release, kept for rollback |
/opt/evernvr/backups | Backups taken before each update |
/opt/evernvr/state/update-status.json | Progress and result of the last update |
/opt/evernvr-venv | Detector environments; release-VERSION links to each release's |
/var/lib/evernvr | Recorder state and default media |
/var/lib/evernvr/backups | Default configuration backup location |
/var/lib/evernvr/updates | Downloaded releases and the recorder's identity with the release server |
/etc/evernvr/evernvr.env | Service environment; updates leave it alone |
/etc/evernvr/keyring.json | Keys trusted to sign releases |
/etc/evernvr/disks.json | Physical devices included in disk-health checks |
/var/log/evernvr | Install, update, rollback and adoption logs |
/usr/local/sbin/evernvr-update | Host tool: apply, verify, status, rollback |
For host setup commands and service details, use installation and commissioning.