Hoppa till huvudinnehållet

Self-Hosting

NetRecon can be fully self-hosted on your own infrastructure, giving you complete control over your data, security, and deployment.

Why Self-Host?

BenefitDescription
Data SovereigntyAll scan results, configurations, and logs remain on your servers
ComplianceMeet regulatory requirements that mandate on-premises data storage
Network IsolationRun in air-gapped environments with no internet dependency
Custom IntegrationDirect database access for custom reporting and integration
Cost ControlNo per-probe licensing for the server infrastructure

Architecture

A self-hosted NetRecon deployment consists of multiple microservices running in Docker containers:

┌────────────────────────────────────────────────────────┐
│ Docker Host │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐│
│ │ API Gateway │ │ Vault Server │ │ License ││
│ │ :8000 │ │ :8001 │ │ Server :8002││
│ └──────────────┘ └──────────────┘ └──────────────┘│
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐│
│ │ Email │ │ Notification │ │ Update ││
│ │ Service :8003│ │ Service :8004│ │ Server :8005││
│ └──────────────┘ └──────────────┘ └──────────────┘│
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐│
│ │ Agent │ │ Warranty │ │ CMod ││
│ │ Registry:8006│ │ Service :8007│ │ Service:8008││
│ └──────────────┘ └──────────────┘ └──────────────┘│
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ IPAM │ │ PostgreSQL │ │
│ │ Service :8009│ │ :5432 │ │
│ └──────────────┘ └──────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Redis │ │ Nginx │ │
│ │ :6379 │ │ Reverse Proxy│ │
│ └──────────────┘ └──────────────┘ │
└────────────────────────────────────────────────────────┘

Service Overview

ServicePortPurpose
API Gateway8000Central API routing, authentication
Vault Server8001Secrets management, credential storage
License Server8002License validation and management
Email Service8003Email notifications and alerts
Notification Service8004Push notifications, webhooks
Update Server8005Probe and agent update distribution
Agent Registry8006Agent enrollment and management
Warranty Service8007Hardware warranty tracking
CMod Service8008Network device configuration management
IPAM Service8009IP address management

Deployment Options

The simplest way to deploy all services. Suitable for small to medium deployments.

See Installation Guide for step-by-step instructions.

Kubernetes

For large-scale deployments requiring high availability and horizontal scaling. Helm charts are available for each service.

Single Binary

For minimal deployments, a single binary packages all services. Suitable for testing or very small environments.

System Requirements

RequirementMinimumRecommended
OSUbuntu 22.04 / Debian 12Ubuntu 24.04 LTS
CPU2 cores4+ cores
RAM4 GB8 GB
Disk40 GB100 GB SSD
Dockerv24.0+Latest stable
Docker Composev2.20+Latest stable

Networking

PortProtocolPurpose
443HTTPSWeb dashboard and API (via reverse proxy)
80HTTPRedirect to HTTPS
5432TCPPostgreSQL (internal, not exposed)
6379TCPRedis (internal, not exposed)

Only ports 80 and 443 need to be exposed externally. All internal service ports are accessible only within the Docker network.

Data Storage

DataStorageBackup
PostgreSQL databaseDocker volumepg_dump daily
Configuration filesBind mountFile backup
Uploaded filesDocker volumeFile backup
LogsDocker volumeLog rotation
TLS certificatesBind mountSecure backup

Security

Self-hosted deployments include all security features:

  • TLS encryption for all external communication
  • JWT-based authentication
  • Role-based access control
  • Audit logging
  • Steel Shield integrity verification (see Steel Shield)

FAQ

Q: Can I run self-hosted without Docker? A: Docker Compose is the recommended and supported deployment method. Running services directly on the host is possible but not officially supported.

Q: How do probes connect to a self-hosted server? A: Configure probes to point to your server's URL instead of the default Cloudflare Tunnel endpoint. Update the server_url in the probe configuration.

Q: Is there a web dashboard included? A: Yes. The API Gateway serves the web dashboard at the root URL. Access it via your configured domain (e.g., https://netrecon.yourcompany.com).

Q: Can I run this in an air-gapped environment? A: Yes. Pre-download the Docker images and transfer them to your air-gapped server. License validation can be configured for offline mode.

For additional help, contact [email protected].