Configuration Reference
Complete reference for Docker flags, application arguments, environment variables, and example deployment recipes.
This section lists every Docker flag, application argument, and environment variable Visionaire4 accepts. Use it as a lookup when you need to tune your deployment.
Docker Run Parameters
Flags passed to docker run itself:
| Parameter | Required | Example | Description |
|---|---|---|---|
--gpus all | Yes (GPU mode) | --gpus all | Enables GPU access. Requires NVIDIA Container Toolkit |
--net host | Recommended | --net host | Uses the host network. Simplifies access to cameras and DB |
-p 4004:4004 | Alternative | -p 4004:4004 | Maps the API port if not using host networking |
-v <host>:<container> | Recommended | -v /tmp/v4data:/workspaces/visionaire4/data | Persistent volume for configs, credentials, event images |
--add-host | Recommended | --add-host=host.docker.internal:127.0.0.1 | Lets the container reach the host by name |
--name | Optional | --name visionaire4 | Names the container for easier management |
-d | Optional | -d | Runs detached (in the background) |
--restart | Optional | --restart unless-stopped | Auto-restarts on unexpected exit |
--ipc host | Optional | --ipc host | Shares host IPC namespace; can improve shared memory perf |
With --net host, every port is exposed on the host directly — you don't need -p mappings.
Application Arguments
Arguments passed after the image name. They configure the Visionaire4 application itself.
Licensing (required)
| Argument | Default | Description |
|---|---|---|
--access-key | default | NodeFlux license access key |
--secret-key | secret | NodeFlux license secret key |
--deployment-key | not_defined | Deployment key from NodeFlux |
All three license arguments are required. The application will not start analytics without them.
Database connection
| Argument | Default | Description |
|---|---|---|
--db-host | 127.0.0.1 | PostgreSQL server address |
--db-port | 5432 | PostgreSQL server port |
--db-user | postgres | Database username |
--db-password | nfvisionaire123 | Database password |
--db-name | nfvisionaire | Database name (auto-created if missing) |
--db-retention-days | 180 | Days to keep event data before automatic cleanup |
--db-retention-bytes | 1649267441664 (~1.5 TB) | Max size for DB event partitions |
Network & API
| Argument | Default | Description |
|---|---|---|
--listen-address | 0.0.0.0 | Address the API listens on |
--listen-port | 4004 | Port the API listens on |
--request-limit | 5 | Maximum API request body size in MB |
Face Recognition
| Argument | Default | Description |
|---|---|---|
--fr-address | 127.0.0.1:4005 | Face Recognition enrollment/searching server |
--fr-keyspace-name | default | FR keyspace name |
--fr-anynomous-keyspace-name | anonymous | FR anonymous keyspace name |
--fr-anonymous-enable | true | Enable FR anonymous face handling |
--fr-embedding-event-enable | false | Output embedding on event |
--fr-min-face-size | 48 | Min face size (deprecated — use JSON config or env) |
--fr-disable-supression | false | Disable FR suppress similarity |
--fr-disable-static-dump | false | Disable FR static dump event |
--fremis-coordinator-address | 127.0.0.1:4006 | Fremis coordinator address |
These arguments only matter if you're using the Face Recognition analytic (NFV4-FR). Other analytics ignore them.
Clustering (multi-node)
| Argument | Default | Description |
|---|---|---|
--node-num | 0 | 0 = master node, 1 or higher = slave node |
--master-address | 127.0.0.1 | Master node address (used by slaves) |
--master-port | 4004 | Master node port (used by slaves) |
docker run -d \
--name visionaire4-master \
--gpus all --net host \
registry.gitlab.com/nodefluxio/visionaire4:latest \
--access-key "<key>" \
--secret-key "<secret>" \
--deployment-key "<deploy-key>" \
--node-num 0docker run -d \
--name visionaire4-slave \
--gpus all --net host \
registry.gitlab.com/nodefluxio/visionaire4:latest \
--access-key "<key>" \
--secret-key "<secret>" \
--deployment-key "<deploy-key>" \
--node-num 1 \
--master-address 192.168.1.100 \
--master-port 4004Logging & diagnostics
| Argument | Default | Description |
|---|---|---|
--log-severity | info | trace, debug, info, notice, or warning |
--scheduled-restart | none | Daily restart time as HH:MM:SS, or none |
Stream
| Argument | Default | Description |
|---|---|---|
--stream-reload-delay | 100 | Milliseconds between stream reloads on restart |
--stream-pause-delay | 2 | Seconds before pausing a stream for hybrid analytics |
Environment Variables
Set these with the -e flag in docker run. They control services inside the container.
Application mode
| Env Var | Default | Values | Description |
|---|---|---|---|
VISIONAIRE4_RUN_MODE | NVIDIA | NVIDIA, INTEL, CPU, JETSON | Inference backend |
docker run -d \
--gpus all \
-e VISIONAIRE4_RUN_MODE=NVIDIA \
...Default mode. Requires NVIDIA GPU, driver 525+, and Container Toolkit.
docker run -d \
-e VISIONAIRE4_RUN_MODE=CPU \
...No GPU required. Suitable for lightweight analytics or testing.
docker run -d \
--runtime nvidia \
-e VISIONAIRE4_RUN_MODE=JETSON \
...For NVIDIA Jetson edge devices (Nano, Xavier, Orin).
Bundled services
| Env Var | Default | Values | Description |
|---|---|---|---|
DISABLE_GRAFANA | 0 | 0 or 1 | 1 disables Grafana and Prometheus |
DISABLE_METABASE | 1 | 0 or 1 | 0 enables Metabase BI dashboard |
Metabase configuration
Only relevant when DISABLE_METABASE=0.
| Env Var | Default | Description |
|---|---|---|
MB_DB_TYPE | postgres | Metabase database type |
MB_DB_HOST | host.docker.internal | Metabase database host |
MB_DB_PORT | 5432 | Metabase database port |
MB_DB_USER | postgres | Metabase database username |
MB_DB_PASS | nfvisionaire123 | Metabase database password |
MB_DB_DBNAME | metabase_v4 | Metabase database name |
MB_JETTY_PORT | 3030 | Metabase web UI port |
MB_DB_MIGRATION | true | Run DB migration on startup (master only) |
Data retention & streams
| Env Var | Default | Description |
|---|---|---|
VISIONAIRE4_DUMP_RETENTION_DAYS | not set | Days to keep dumped event images on disk; unset = no cleanup |
V4_MAX_STREAM_RESOLUTION | 1440 (GPU) / unset (CPU) | Max stream resolution in pixels; higher streams are downscaled |
Example Configurations
Three ready-to-copy deployment recipes for common scenarios.
Minimal Deployment
docker run -d \
--name visionaire4 \
--gpus all \
--net host \
-v /tmp/v4data:/workspaces/visionaire4/data \
registry.gitlab.com/nodefluxio/visionaire4:latest \
--access-key "<key>" \
--secret-key "<secret>" \
--deployment-key "<deploy-key>"Production Deployment
Auto-restart, monitoring enabled, scheduled nightly restart, longer retention.
docker run -d \
--name visionaire4 \
--gpus all \
--net host \
--restart unless-stopped \
--ipc host \
--add-host=host.docker.internal:127.0.0.1 \
-e DISABLE_GRAFANA=0 \
-e DISABLE_METABASE=0 \
-e VISIONAIRE4_DUMP_RETENTION_DAYS=30 \
-v /opt/v4data:/workspaces/visionaire4/data \
registry.gitlab.com/nodefluxio/visionaire4:latest \
--access-key "<key>" \
--secret-key "<secret>" \
--deployment-key "<deploy-key>" \
--db-host 127.0.0.1 \
--db-retention-days 90 \
--log-severity info \
--scheduled-restart 03:00:00CPU-Only Deployment
docker run -d \
--name visionaire4 \
--net host \
-e VISIONAIRE4_RUN_MODE=CPU \
-v /tmp/v4data:/workspaces/visionaire4/data \
registry.gitlab.com/nodefluxio/visionaire4:latest \
--access-key "<key>" \
--secret-key "<secret>" \
--deployment-key "<deploy-key>"CPU mode supports a smaller set of analytics and has significantly lower throughput than GPU mode. Use it for testing or lightweight workloads.
Services & Ports
Services bundled inside the Visionaire4 container and their default ports.
Developer Guide
Panduan pengembang untuk mengintegrasikan dan menggunakan Visionaire4 API — mencakup manajemen stream, pipeline analitik, visualisasi real-time, konfigurasi platform, dan komunikasi berbasis WebSocket.