Nodeflux Central
Pre-requisite Installation

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:

ParameterRequiredExampleDescription
--gpus allYes (GPU mode)--gpus allEnables GPU access. Requires NVIDIA Container Toolkit
--net hostRecommended--net hostUses the host network. Simplifies access to cameras and DB
-p 4004:4004Alternative-p 4004:4004Maps the API port if not using host networking
-v <host>:<container>Recommended-v /tmp/v4data:/workspaces/visionaire4/dataPersistent volume for configs, credentials, event images
--add-hostRecommended--add-host=host.docker.internal:127.0.0.1Lets the container reach the host by name
--nameOptional--name visionaire4Names the container for easier management
-dOptional-dRuns detached (in the background)
--restartOptional--restart unless-stoppedAuto-restarts on unexpected exit
--ipc hostOptional--ipc hostShares 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)

ArgumentDefaultDescription
--access-keydefaultNodeFlux license access key
--secret-keysecretNodeFlux license secret key
--deployment-keynot_definedDeployment key from NodeFlux

All three license arguments are required. The application will not start analytics without them.

Database connection

ArgumentDefaultDescription
--db-host127.0.0.1PostgreSQL server address
--db-port5432PostgreSQL server port
--db-userpostgresDatabase username
--db-passwordnfvisionaire123Database password
--db-namenfvisionaireDatabase name (auto-created if missing)
--db-retention-days180Days to keep event data before automatic cleanup
--db-retention-bytes1649267441664 (~1.5 TB)Max size for DB event partitions

Network & API

ArgumentDefaultDescription
--listen-address0.0.0.0Address the API listens on
--listen-port4004Port the API listens on
--request-limit5Maximum API request body size in MB

Face Recognition

ArgumentDefaultDescription
--fr-address127.0.0.1:4005Face Recognition enrollment/searching server
--fr-keyspace-namedefaultFR keyspace name
--fr-anynomous-keyspace-nameanonymousFR anonymous keyspace name
--fr-anonymous-enabletrueEnable FR anonymous face handling
--fr-embedding-event-enablefalseOutput embedding on event
--fr-min-face-size48Min face size (deprecated — use JSON config or env)
--fr-disable-supressionfalseDisable FR suppress similarity
--fr-disable-static-dumpfalseDisable FR static dump event
--fremis-coordinator-address127.0.0.1:4006Fremis coordinator address

These arguments only matter if you're using the Face Recognition analytic (NFV4-FR). Other analytics ignore them.

Clustering (multi-node)

ArgumentDefaultDescription
--node-num00 = master node, 1 or higher = slave node
--master-address127.0.0.1Master node address (used by slaves)
--master-port4004Master 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 0
docker 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 4004

Logging & diagnostics

ArgumentDefaultDescription
--log-severityinfotrace, debug, info, notice, or warning
--scheduled-restartnoneDaily restart time as HH:MM:SS, or none

Stream

ArgumentDefaultDescription
--stream-reload-delay100Milliseconds between stream reloads on restart
--stream-pause-delay2Seconds 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 VarDefaultValuesDescription
VISIONAIRE4_RUN_MODENVIDIANVIDIA, INTEL, CPU, JETSONInference 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 VarDefaultValuesDescription
DISABLE_GRAFANA00 or 11 disables Grafana and Prometheus
DISABLE_METABASE10 or 10 enables Metabase BI dashboard

Metabase configuration

Only relevant when DISABLE_METABASE=0.

Env VarDefaultDescription
MB_DB_TYPEpostgresMetabase database type
MB_DB_HOSThost.docker.internalMetabase database host
MB_DB_PORT5432Metabase database port
MB_DB_USERpostgresMetabase database username
MB_DB_PASSnfvisionaire123Metabase database password
MB_DB_DBNAMEmetabase_v4Metabase database name
MB_JETTY_PORT3030Metabase web UI port
MB_DB_MIGRATIONtrueRun DB migration on startup (master only)

Data retention & streams

Env VarDefaultDescription
VISIONAIRE4_DUMP_RETENTION_DAYSnot setDays to keep dumped event images on disk; unset = no cleanup
V4_MAX_STREAM_RESOLUTION1440 (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:00

CPU-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.

On this page