Installation Guide
GPU Version requires NVidia CUDA backend, you need to install
nvidia-docker
first.Run docker image
1. Set Environment Variable
Run these commands in your Terminal.
export VISIONAIRE_CLOUD_ACCESS_KEY=<your visionaire cloud access key>
export VISIONAIRE_CLOUD_SECRET_KEY=<your visionaire cloud secret key>
export DEPLOYMENT_KEY_SNAPSHOT=<your snapshot deployment key>
export HOST_ADDR=$(ip route get 8.8.8.8 | sed -n '/src/{s/.*src *\([^ ]*\).*/\1/p;q}')
2. 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
3. Run Postgres Container
Create Postgre 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'
4. Run Visionaire Docker Snapshot (fremis-n:v2.8.5)
(fremis-n:v2.8.5)
Visionaire Docker Snapshot started from version
v1.0.0
no longer requires cloud username and password.Start from installation will be done using the Postgre database to ensure data persistence. Database migration is required once.
If you have enrollments using
fremis-n
version below 1.4.0 and upgrading to version 1.4.0, you need to re-enroll the enrollments.
Select one of installer below:
Run FremisN Services (GPU Version) - Faster latency & higher QPS / throughput
Get a lower latency & higher QPS / throughput by using GPU version. However, GPU version requires you to set designated enrollment counts for every keyspace at a config file.
Please create a folder --which later we call it as
<HOST FREMIS-N CONFIG FOLDER>
--, then create a file named asconfig.yml
inside<HOST FREMIS-N CONFIG FOLDER>
with content as follows:keyspace-enrollments_num: <YOUR DEFINED 1st KEYSPACE>: <DESIGNATED ENROLLMENTS COUNT> <YOUR DEFINED 2nd KEYSPACE>: <DESIGNATED ENROLLMENTS COUNT> # ...
the command to run FRemis-N GPU
docker run --gpus device=0 -it -d -p 4005:4005 \
--name fremisn \
--network="nf-visionaire" \
-v <HOST FREMIS-N CONFIG FOLDER>:/config \
--restart unless-stopped \
nodefluxio/fremis-n:v2.8.5-gpu \
httpserver \
--access-key ${VISIONAIRE_CLOUD_ACCESS_KEY} \
--secret-key ${VISIONAIRE_CLOUD_SECRET_KEY} \
--dk ${DEPLOYMENT_KEY_SNAPSHOT} \
--db-address localhost \
--db-port 5432 \
--db-name nfvisionaire \
--db-username postgres \
--db-password nfvisionaire123 \
--listen-port 4005 \
--storage postgres \
--config-path /config/config.yml \
--verbose
Notes:
Run FremisN Services (CPU Version)
docker run -it -d -p 4005:4005 \
--name fremisn \
--network="nf-visionaire" \
--restart unless-stopped \
nodefluxio/fremis-n:v2.8.5-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
-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
For getting commands help:
docker run -it --gpus device=0 nodefluxio/fremis-n:v2.8.5-gpu httpserver --help
or
docker run -it nodefluxio/fremis-n:v2.8.5-cpu httpserver --help
Last updated
Was this helpful?