Skip to main content

Quick Start

Bring up a working on-premises instance in five steps:
1

Verify Requirements

Ensure your system meets the requirements
2

Install Nvisy

3

Configure Settings

Set up basic configuration
4

Start Services

Launch Nvisy services
5

Verify Installation

Test that everything is working

Basic Configuration

Environment Variables

Create a .env file with your configuration. The example below uses Docker Compose service names — see Connection hosts for the Kubernetes and systemd equivalents.

Connection hosts

The postgres and nats hostnames above are Docker Compose service names. They do not resolve under other deployment methods — use the form that matches how you installed Nvisy.
Compose resolves service names on its own network:
Replace password with a real secret in every deployment method. Supply it through a secret manager or an environment file with restricted permissions rather than committing it.
Do not combine NVISY_SERVER_HOST=0.0.0.0 with NVISY_TLS_ENABLED=false. That serves API tokens and document content in cleartext on every interface. Before widening the bind address, either enable TLS on the service or place it behind a TLS-terminating reverse proxy and keep the service itself on loopback.

Configuration File

Alternatively, use config.yaml:

Starting Services

Docker Compose

Start all services:

Kubernetes

Deploy with Helm:

Systemd

Start the service:

First Redaction

Create an API Token

Tokens are created in your account settings under API Tokens, or through POST /api-tokens/. See Authentication for the full lifecycle — the same endpoints apply to a self-hosted instance.

Verify the Instance

A healthy instance reports each component:

Using cURL

Using an SDK

Point the client’s base URL at your instance — everything else is identical to cloud:
See the Quickstart for the full upload → analyze → review → redact flow.
Self-hosting pairs well with an ollama connection — inference then runs inside your infrastructure too, so no document content leaves your network.

Enabling TLS/HTTPS

For production, enable TLS:

Generate Certificate

Update Configuration

Restart Services

Setting Up Monitoring

Enable Metrics

Configure Prometheus metrics:

Prometheus Configuration

Grafana Dashboard

Import the Nvisy dashboard (ID: coming soon) or create custom dashboards using metrics:
  • nvisy_requests_total - Total API requests
  • nvisy_processing_duration_seconds - Processing time
  • nvisy_detections_total - Total detections
  • nvisy_errors_total - Error count

User Management

Accounts are created through POST /auth/signup/, and access is granted per workspace through memberships and invites rather than global roles. See Authentication for the account and token endpoints.

Backup Configuration

Set up automated backups:

Performance Tuning

Optimize Worker Count

A conservative starting point is (CPU cores - 2) / 2 — for a 16-core host, about 7 concurrent jobs. This is a floor for CPU-bound analysis, not a capacity figure: the capacity planning table sizes hardware for a target job count and assumes jobs spend much of their time waiting on I/O. Start low, measure with your own documents, and raise the limit only while latency stays acceptable.

Database Connection Pool

Enable GPU Acceleration

If you have an NVIDIA GPU:

Common Tasks

View Logs

Restart Services

Check Resource Usage

Next Steps

API Reference

Explore the API

TypeScript SDK

Use the SDK

Configuration

Advanced configuration

Troubleshooting

Common issues and solutions