BOX 3.x

BOX 3.x configurable modules

Enable complete feature dependencies and verify the user-visible result.

Browsing: BOX 3.0 / 3.2

A module is more than a switch

A feature may affect several services, environment values, volumes, databases, Kafka topics and interface elements. Treat activation as a versioned configuration change. Verify the release-specific file locations and dependencies first.

English interface

The frontend DEFAULT_LANGUAGE and backend USER_DEFAULT_UI_LANG settings serve different layers. Configure both consistently. In the described builds the frontend file is ui-rest/ui-config/config.json, while the backend value is passed to services such as st-auth and st-report-email.

{
  "DEFAULT_LANGUAGE": "en"
}

# Backend environment, where supported by the release
USER_DEFAULT_UI_LANG=en

A missing config.json can cause the interface to remain in a loading state. After changes, check login, main screens, reports and notifications.

Identity and analytical integrations

Directory integration requires a dedicated read account, agreed groups, DNS, domain-controller access and appropriate secure transport. Check initial load, periodic synchronisation and removal of access after group changes. Identity, dashboard and language-model integrations require compatible images and dependencies.

Video and specialised sources

Archive needs persistent and temporary capacity, codec compatibility and a recording policy. The documented archive path uses TCP streams; validate each camera. Body-worn video, thermal sources, virtual cameras, WebRTC and facial-recognition modules require their own parameters or services and resource checks.

Maps, positioning and devices

Map and floor-plan views are alternative display modes in the documented configuration. Positioning requires an agreed provider and data feed. Peripheral devices and counters need physical/network checks and a verified event-to-device response.

Notifications

Confirm the source event before configuring recipients, format, rate limits, retries and delivery monitoring. Use only channels included in the international delivery. Historical provider-specific wiki integrations are not automatically part of ViewLogic.

Monitoring and cleanup

Add new services to metrics, logging, backup and recovery procedures. Configure retention explicitly and check actual data deletion and disk-capacity behaviour.

Module acceptance

CheckEvidence
CompatibilityRecorded image and dependency versions
ResourcesCPU/GPU/RAM/storage measurements before and after
DataSuccessful read/write and retention behaviour
TransportA control event delivered without persistent lag
InterfaceCorrect role and site visibility
OperationsMonitoring, backup and rollback documented

Archive domain and configuration parameters

In the documented BOX 3.x installation, add video-archive to the DOMAINS array in domain.conf. Configure the following variables in the deployment settings. The values are examples, not capacity recommendations. This archive configuration records TCP streams.

Permanent and temporary storage have separate limits. The h264_nvenc encoder requires a compatible NVIDIA GPU and an available encoder.

ParameterExampleMeaning / units
VIDEO_ARCHIVE_IS_ENABLEDtrueEnable the archive
VIDEO_ARCHIVE_IS_RECORD_ALL_CAMERASfalseDo not enable recording automatically for every camera
VIDEO_ARCHIVE_VIDEO_DURATION_SEC900Video clip duration, seconds
VIDEO_ARCHIVE_VIDEO_DELTA_SEC5Duration used when recording start and end coincide, seconds
VIDEO_ARCHIVE_FAILED_CAMERA_WAIT_VIDEO_SEC150Wait after the last frame before resuming recording, seconds
VIDEO_ARCHIVE_MAX_MEDIA_STORAGE_SIZE_GB200.0Permanent storage limit, GB
VIDEO_ARCHIVE_MAX_TMP_MEDIA_STORAGE_SIZE_GB1.0Temporary storage limit, GB
VIDEO_ARCHIVE_TMP_DIR<absolute-path>Temporary directory used by offline-post-inference
VIDEO_ARCHIVE_FFMPEG_ENCODE_CODEC / VIDEO_ARCHIVE_FFMPEG_CROP_CODECh264_nvencVideo encoding and trimming
MINIO_BUCKET_VIDEO_ARCHIVEvideo-archiveArchive bucket in MinIO

Verify source access from the archive node, creation of fragments, temporary storage use, objects and actual size in MinIO, and playback of the correct camera/time fragment. Recording, preparing event clips and playback are separate checks.

DataLens URL and absolute data path

To show the expanded-statistics link, set DASHBOARD_DATALENS_METRICS_URL in ui-rest/ui-config/settings.json. Older builds may read it from config.json; use the file read by the installed release. An empty string disables the link.

{
  "DASHBOARD_DATALENS_METRICS_URL": "https://<bi-host>/<dashboard-id>"
}

The link does not create BI database access. Configure the analytics domain and data access separately. COMPOSE_DATA must be an absolute path, not ./compose-data. Check that Dashboard opens the intended report and that its site data and permissions are correct for the target user.

WebRTC and the client-reachable coturn address

In the documented configuration, WebRTC transport through NAT uses TCP and coturn. inf-coturn belongs to the inference domain. Set COTURN_HOST_IP in that domain’s .env to the coturn interface address reachable by clients; the media server must use the same address.

# inference domain .env
COTURN_HOST_IP=<client-reachable-IP>

If BOX is behind NAT and Internet clients need access, place coturn on a node with a public IP reachable by them. Test from the operator’s network, and from both local and external networks when both are required. A working BOX web page does not prove that video transport works.

Use the documentation and configuration supplied for your installed release. Environment addresses and access credentials are provided privately with the delivery.