Installation
Five-step Docker walkthrough to get Visionaire4, PostgreSQL, and Grafana running, plus the services and ports bundled in the container.
Follow these five steps in order. Each step is a single command — copy, paste, run.
Start PostgreSQL
Visionaire4 needs a PostgreSQL 12 database. If you don't already have one, run it as a Docker container:
docker run -d \
--name postgres-db \
--restart always \
-e POSTGRES_PASSWORD=nfvisionaire123 \
-e POSTGRES_DB=postgres \
-e POSTGRES_USER=postgres \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-p 5432:5432 \
-v /var/lib/postgresql/data:/var/lib/postgresql/data \
postgres:12-alpineThe database is now reachable at 127.0.0.1:5432.
Start Visionaire4
Pick whichever style fits your workflow:
docker run -d \
--name visionaire4 \
--gpus all \
--net host \
--add-host=host.docker.internal:127.0.0.1 \
-v /tmp/v4data:/workspaces/visionaire4/data \
registry.gitlab.com/nodefluxio/visionaire4:latest \
--access-key "<your-access-key>" \
--secret-key "<your-secret-key>" \
--deployment-key "<your-deployment-key>" \
--db-host 127.0.0.1Save this as docker-compose.yml:
version: '3.8'
services:
visionaire4:
image: nodefluxio/visionaire4:latest
runtime: nvidia
network_mode: host
restart: unless-stopped
environment:
- DISABLE_GRAFANA=0
- DISABLE_METABASE=1
command:
- --access-key=<your-access-key>
- --secret-key=<your-secret-key>
- --deployment-key=<your-deployment-key>
- --db-host=127.0.0.1
- --fr-address=127.0.0.1:4005
depends_on:
- postgres-db
postgres-db:
image: postgres:12-alpine
restart: always
environment:
POSTGRES_PASSWORD: nfvisionaire123
POSTGRES_DB: postgres
POSTGRES_USER: postgres
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
volumes:
- /var/lib/postgresql/data:/var/lib/postgresql/dataThen run:
docker compose up -dReplace <your-access-key>, <your-secret-key>, and <your-deployment-key> with the credentials provided by NodeFlux. Without valid credentials, the analytics engine will not start.
Verify the container is running
Wait a few seconds, then ask the node about itself:
curl http://localhost:4004/node_statusYou should get a JSON response listing the node's status, available analytics, and license info. If you don't, check the logs:
docker logs visionaire4Look for a line indicating the API is listening on port 4004.
Open the monitoring dashboard
Grafana ships with the container. Open it in your browser:
http://<your-server-ip>:3000Log in with the default credentials admin / admin. Change them right after first login.
Hit the REST API
The Visionaire4 API is now live at:
http://<your-server-ip>:4004From here you can create streams, configure pipelines, and query events. The API is the primary integration surface — explore the analytic guides for endpoint references.
You're done with installation. Visionaire4 is running, the database is connected, and the dashboard is up. The section below lists what else is running inside the container; see Configuration Reference for tuning your deployment.
Services & Ports
The Visionaire4 image bundles a few services so you can monitor and analyze without extra setup:
| Service | Port | Description | Default | Toggle |
|---|---|---|---|---|
| Visionaire4 API | 4004 | REST API and video analytics engine | Always on | — |
| Prometheus | 9090 | Metrics collection | Enabled | DISABLE_GRAFANA |
| Grafana | 3000 | Monitoring dashboard | Enabled | DISABLE_GRAFANA |
| Metabase | 3030 | Business intelligence dashboard | Disabled | DISABLE_METABASE |
| PostgreSQL | 5432 | Database (external) | — | — |
The DISABLE_* toggles are environment variables passed to the container — see Environment Variables for how to set them.
Pre-requisite Installation
A step-by-step guide to install, run, and configure Visionaire4 on Docker — from system requirements and quick start to the full configuration reference.
Configuration Reference
Complete reference for Docker flags, application arguments, environment variables, and example deployment recipes.