Skip to main content
Deploy Nvisy within your own infrastructure for complete control over your data and security policies. Suited to organizations with strict data-residency needs.

Overview

On-premises deployment gives you:
  • Complete data sovereignty - Documents never leave your network
  • Full control - Customize security, networking, and infrastructure
  • Air-gap support - Deploy in isolated environments
  • Custom policies - Enforce your own data-handling rules

System Requirements

Minimum Requirements

Installation Methods

Docker Compose Installation

Quick setup for development and small deployments:
Nvisy is open-source and needs no license key. Create an API token from your account settings once the instance is up — see Authentication.

Configuration

Environment Variables

config.yaml

Networking

Firewall Rules

Required ports: Open exactly one public HTTPS port: 443 when a reverse proxy fronts the service, or 8443 when the service terminates TLS itself. Port 8080 carries cleartext and should only be reachable from the proxy or the local host.

Load Balancer Configuration

Example NGINX configuration:

High Availability Setup

Architecture

Database Replication

PostgreSQL with streaming replication:

Backup & Recovery

Automated Backups

Backup Schedule

Recommended schedule:
  • Database: Daily full backup, hourly incrementals
  • Storage: Daily backup with 30-day retention
  • Configuration: Version-controlled in Git
  • Disaster Recovery: Test recovery quarterly

Monitoring

Metrics

Nvisy exposes Prometheus metrics at /metrics:
Key metrics:
  • nvisy_requests_total - Total API requests
  • nvisy_processing_duration_seconds - Processing time
  • nvisy_detections_total - Total detections
  • nvisy_errors_total - Error count

Health Checks

Response:
checks is an array with one entry per dependency. The top-level status is healthy only when every check reports healthy.

Security Hardening

TLS Configuration

Generate self-signed certificate (development):

API Key Management

API tokens are managed through the API (or the account settings UI), not a local CLI:
The token value is returned only when it is created. Store it in a secret manager and rotate it by creating the replacement before revoking the old one — see Authentication.

Network Isolation

Run in isolated network:

Troubleshooting

Common Issues

Check logs:
Common causes:
  • Database connection failure
  • Port already in use
  • Insufficient permissions
Check resource usage:
Solutions:
  • Increase CPU/memory allocation
  • Enable GPU acceleration
  • Increase concurrent job limit
  • Check network latency to storage
Verify database:
Check:
  • Database URL is correct
  • Credentials are valid
  • Database is accessible from Nvisy
  • SSL mode matches database config

Upgrading

Docker Compose Upgrade

Kubernetes Upgrade

Support

Enterprise Support

Priority support with SLA for on-premises customers

Documentation

Complete deployment guides and API reference

Email Support

GitHub Issues

Report issues or request features

Next Steps

Configuration Reference

View all configuration options

API Reference

Integrate with your applications