VisionAIre
  • About Nodeflux
  • Visionaire Stream
    • Overview
    • Requirements
      • Credential Keys
      • Tested Hardware
      • Bandwith Requirements
    • Installation Guide
      • Dependencies
      • Simple Installation
      • Advanced Installation
      • Clustering Installation
      • Add-ons Analytics Installation
        • People Attributes Installation
        • Vehicle Attributes Installation
        • OVOD Installation
        • OVIC Installation
        • VM Installation
        • VLM Installation
    • Analytics
      • Face Recognition
        • Additional Information
          • Overview
          • Disclaimer
          • Metrics
          • Testing
      • People Analytics
      • Crowd Estimation
      • PPE Detection
      • License Plate Recognition
      • Vehicle Analytics
      • Water Level Monitoring
        • Camera Guideline
      • Pre-Flood Monitoring
      • Person Smoking Detection
      • Person with Handphone Detection
      • Smoke and Fire Detection
      • Person Using Firearms Detection
      • Vandalism Attempt Recognition
      • ATM Burglary Incident Recognition
      • Road Crash Monitoring
      • People Fighting Recognition
      • Riot Recognition
    • Developer Guide
      • How our APIs work
      • HTTP APIs
      • Websocket
      • Database Structure
    • Changelogs
  • Visionaire Snapshot
    • Overview
    • Requirements
    • Installation Guide
      • Face Searching & Matching
        • Single Node
        • Clustering
      • Helmet Detection
      • Chicken Estimation
      • Face Detection
      • Over Dimension Over Load
      • Frontal License Plate Recognition
    • Analytics
      • Face Searching & Matching
        • Face Enrollment
          • Image Guideline
          • Face and Image Quality Assessment
            • Setup On Premise
            • API
          • Insert / Update / Delete Enrollment
          • Batch Enrollment
      • Helmet Detection
      • Chicken Estimation
      • People Demography
      • Face Detection
      • Over Dimension Over Load
      • License Plate Recognition -Frontal
    • Developer Guide
      • APIs
        • Face Searching & Matching
        • Helmet Detection
        • Chicken Estimation
        • People Demography
        • Face Detection
        • Over Dimension Over Load
        • Frontal License Plate Recognition
      • Vanilla APIs for Face Enrollment
      • Porting Enrollment Database Cluster to Docker
    • Changelogs
  • VisionAIre Dashboard
    • Introduction
    • Add Analytic Assignment
    • Accessing Vanilla Database
    • Connect to Vanilla Websocket
    • Create your own visualization
      • Migration from Old Streamer to New Streamer
      • Drawing Region of Interest
      • Additional Visualization Query
Powered by GitBook
On this page
  • 1. Create User-Defined Docker Network & Volumes
  • 2. Run Postgres Container
  • 3. Run Visionaire Stream
  • For Intel Version
  • 4. Run VisionAIre Dashboard
  • Run VisionAIre Snapshot

Was this helpful?

Export as PDF
  1. Visionaire Stream
  2. Installation Guide

Advanced Installation

This guideline is intended for custom installation to fit your environment. For the quick one, please see the previous section, Simple Installation.

PreviousSimple InstallationNextClustering Installation

Last updated 7 months ago

Was this helpful?

If you are a developer and need more customization. Make sure you already fulfill the .

Please make sure to run all commands in the same terminal. If you accidentally closed the terminal earlier, be sure to re-run variables export commands and continue with the installation.

1. Create User-Defined Docker Network & Volumes

Create a user-defined bridge network:

docker network create nf-visionaire

Create docker volumes for postgresdb:

docker volume create postgres-data

2. Run Postgres Container

Create Potgres Container

docker run -it -d -p 5432:5432 \
--name=postgresdb \
--network="nf-visionaire" \
--restart unless-stopped \
-e POSTGRES_PASSWORD=nfvisionaire123 \
-e POSTGRES_DB=nfvisionaire \
-e POSTGRES_USER=postgres \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v postgres-data:/var/lib/postgresql/data \
postgres:12-alpine

Init new additional DB

docker run -it --rm \
--network="nf-visionaire" \
-e PGPASSWORD=nfvisionaire123 \
postgres:12-alpine \
sh -c 'psql -h postgresdb -U postgres -c "CREATE DATABASE nfv4;" || true'

3. Run Visionaire Stream

From version 4.56.1 we remove the argument to input the Deployment Key, Secret Key, and Access Key. You can input from our dashboard (click profile > license).

If you install version below 4.56.1 make sure to use --access-key,--secret-key and --deployment-key

export HOST_ADDR=$(ip route get 8.8.8.8 | sed -n '/src/{s/.*src *\([^ ]*\).*/\1/p;q}')
docker run -it -d -p 4004:4004 -p 9090:9090 -p 3000:3000 -p 3030:3030 \
--shm-size=16gb \
-v $(pwd)/visionaire4.json.log:/opt/visionaire4.json.log \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=1 \
--name=visionaire4 \
--network="nf-visionaire" \
--restart unless-stopped \
--gpus all \
nodefluxio/visionaire4:4.57.18 \
--enable-cors \
--db-host postgresdb \
--db-port 5432 \
--db-name nfv4 \
--db-user postgres \
--db-password nfvisionaire123 \
--fr-address ${HOST_ADDR}:4005 \
--fr-keyspace-name default

For Intel Version

docker run -it -d -p 4004:4004 -p 9090:9090 -p 3000:3000 -p 3030:3030 \
--shm-size=16gb \
-v $(pwd)/visionaire4.json.log:/opt/visionaire4.json.log \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=1 \
--name=visionaire4 \
--network="nf-visionaire" \
--restart unless-stopped \
--device=/dev/dri/renderD128 \
--device=/dev/accel/accel0 \
nodefluxio/visionaire4:4.57.18 \
--enable-cors \
--db-host postgresdb \
--db-port 5432 \
--db-name nfv4 \
--db-user postgres \
--db-password nfvisionaire123 \
--fr-address ${HOST_ADDR}:4005 \
--fr-keyspace-name default

Options

Description

--help

Produce help message

--log-severity arg (=info)

Set default log severity (trace, debug, info, notice, warning)

--node-num arg (=0)

Setting node number for clustering (default is 0 or master)

--master-address arg (=127.0.0.1)

The address of master (if running asslavemode or node_num>0)

--master-port arg (=4004)

The listening address of master (default is 4004)

--access-key arg (=default)

License access key

--secret-key arg (=secret)

License secret key

--deployment-key arg

Deployment key

--refresh-timeout arg (=3)

Refresh timeout

--db-host arg (=host.docker.internal)

Main database host address

--db-port arg (=5432)

Main database host port number (default=5432)

--db-user arg (=postgres)

Main database username

--db-password arg (=test)

Main database username

-db-name arg (=postgres)

Main database name

--listen-address arg (=0.0.0.0)

Master service listening address

--listen-port arg (=4004)

Master service listening port

--enable-cors

Enable CORS-Origin

--mode arg (=master)

Running mode (master, migration)

--service-hash arg (=0)

(internally used)

--service-gpu-id arg (=-1)

(internally used)

--credential-bundle arg (=./data/credential_stream.csv)

Credential bundle as csv file (access_key, secret_key, deployment_key)

--fr-address arg (=host.docker.internal:4005)

Location of Docker Snapshot Face Recognition server, default: host.docker.internal:4005

--fr-keyspace-name arg (=some-keyspace)

Keyspace of Docker Snapshot server, default: some-keyspace

--fr-min-face-size arg (=10)

Face size, default: 10

--fr-embedding-event-enable

Enable embedding information on event as vector of float

--FR_TIMEOUT_DUMP

Control interval between same face dumping. Default: 2500ms

--FR_BLUR_FILTER_THRESHOLD

Minimum threshold to filter blurry face, improving image quality of FR face image dumping. Default: 4, Range Value: 0 - 10, 0 means blurry face image dump will be abundant and 10 means only dump good face image

--V4_STREAM_OPEN_TIMEOUT

Control stream open timeout. Default: 8s

--V4_STREAM_READ_TIMEOUT

Control stream read timeout. Default: 5s

--VISIONAIRE4_RUN_MODE

(internally used)

4. Run VisionAIre Dashboard

  • Run docker image

This command will install the new dashboard. If you prefer to use the old version of our dashboard, please use the 2nd installation command.

docker run -it --rm \
--network="nf-visionaire" \
-e PGPASSWORD=nfvisionaire123 \
postgres:12-alpine \
sh -c 'psql -h localhost -U postgres -c "CREATE DATABASE vdashboard;" || true'
docker run -d -p 8005:4003 --name visionaire-dashboard
        --restart unless-stopped
        -e DASHBOARD_API_HOST=192.168.103.208:8005 
        -e VISIONAIRE_HOST=192.168.103.208:4004
        -e FREMISN_URL=http://192.168.103.208:4005/v1
        -e DB_HOST=192.168.103.208:5432
        -e DB_NAME=vdashboard
        -e DB_USERNAME=postgres
        -e DB_PASSWORD=nfvisionaire123
        registry.gitlab.com/nodefluxio/visionaire-dashboard:2.7.0

Below this is for old dashboard installation guide

docker run -it --rm \
--network="nf-visionaire" \
-e PGPASSWORD=nfvisionaire123 \
postgres:12-alpine \
sh -c 'psql -h localhost -U postgres -c "CREATE DATABASE nfvisionaire;" || true'
export HOST_ADDR=$(ip route get 8.8.8.8 | sed -n '/src/{s/.*src *\([^ ]*\).*/\1/p;q}')

docker run -it -d -p 8008:8008 \
--name vanilla-dashboard \
--network="nf-visionaire" \
--restart unless-stopped \
nodefluxio/vanilla-dashboard:1.21.0 \
./vanend \
--db-host postgresdb:5432 \
--db-name nfvisionaire \
--db-user postgres \
--db-password nfvisionaire123 \
--visionaire-host ${HOST_ADDR}:4004 \
--fremisn-url http://${HOST_ADDR}:4005/v1/face \
--website-host ${HOST_ADDR}:8008 \
--port 8008 \
--metric-wlm LEVEL 

Parameters for Vanilla.

Options

Description

--log , -l

logging level, useful for debugging session. available (warning, info, debug) (default: info)

--port , -p

app HTTP port (default: 80)

--node-env

running mode, development or production (default: production)

--db-host, --dbhost

postgreSQL host address, ex: 127.0.0.1:5432 (default: 127.0.0.1:5432)

--db-user, --dbusr

postgreSQL database username, ex: postgres (default: postgres)

--db-password, --dbpass

postgreSQL database password, ex: password (default: test)

--db-name, --dbnm

postgreSQL database name, ex: postgres (default: postgres)

--fremisn-url, --frnurl

fremisn service url (default: http://localhost:4005/v1/face)

--fremisn-keyspace, --frnks

fremisn user keyspace, ex: some-keyspace (default: some-keyspace)

--visionaire-host, --vshst

Visionaire Docker Stream host, (default: localhost:4004)

--cron-partition, --crp

database cronjob partition (default: 0 0 * * *)

--website-host

front end website host (default: localhost)

--help, -h

show help

--version, -v

print the version

--fremisn-rto, --frnrto

fremisn max request timeout in second (default: 10)

  • At this point, you should have 4 containers running. You can check your_ip:8008 to see the Vanilla Dashboard.

    • User: admin@admin.com

    • Pass: adminadmin

If you use Face Recognition analytics in your deployment make sure to install VisionAIre Snapshot, if you don't then your installation is done.

Run VisionAIre Snapshot

If you install version below 2.12.2 make sure to use --access-key,--secret-key and --dk

docker run -it -d -p 4005:4005 \
--name fremisn \
--network="nf-visionaire" \
--restart unless-stopped \
nodefluxio/fremis-n:v2.12.20-cpu \
httpserver \
--access-key ${VISIONAIRE_CLOUD_ACCESS_KEY} \
--secret-key ${VISIONAIRE_CLOUD_SECRET_KEY} \
--dk ${DEPLOYMENT_KEY_SNAPSHOT} \
--db-address postgresdb \
--db-port 5432 \
--db-name nfvisionaire \
--db-username postgres \
--db-password nfvisionaire123 \
--listen-port 4005 \
--storage postgres \
--verbose
Option
Description

-h,--help

Print this help message and exit

--access-key

Nodeflux access key

--secret-key

Nodeflux secret key

--dk

Deployment Key

--listen-addr

Address to serve REST API

-p,--listen-port

Address to serve REST API

--listen-port-monitoring

Address port of monitoring

--server-threads

Maximum number of server's threads

--similarity-threshold

Default similarity threshold

--max-workers

Maximum number of extraction workers

--storage

Storage System. The choice are: rocksdb and postgres

--data-path

Database Path of RocksDB, if rocksdb selected

--db-address

Database Address of Postgres server, if postgres selected

--db-port

Database port of Postgres server, if postgres selected

--db-name

Database name of Postgres server, if postgres selected

--db-username

Database username of Postgres server, if postgres selected

--db-password

Database password of Postgres server, if postgres selected

--partition-start

The starting number of partition set

--partition-end

The ending number of partition set

-v,--verbose

Turn on verbose logging

  • You can use GPU by using gpu tag. Example:nodefluxio/fremis-n:v1.0.0-gpu, then enabling --gpus-all in docker command and --config-path /app/config.yml in fremisn command

  • If you run with License Box, add this scriptdocker run --add-host "api.cloud.nodeflux.io:<license_box_ip>"

requirement
Step 1. Create network and volume for postgres.
Step 2. Create database and table.
Step 3. Run Visionaire Docker Stream.
Last step. Run Docker Vanilla Dashboard
Vanilla Dashboard after VisionAIre successfully installed.
Step 3. Run Visionaire Docker Snapshot.
Page cover image