<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=7178634&amp;fmt=gif">
uControl Book a demo
Docs  ›  Discovery

Installation — On-Premises

Last updated 2026-04-27

On-Premises Installation

System Requirements

Control Plane Server

AssetsvCPUsRAMDiskNotes
Up to 50024 GB20 GB SSDSmall lab / PoC
500 – 2,00048 GB50 GB SSDSmall office / single site
2,000 – 10,000416 GB100 GB SSDMedium enterprise
10,000 – 30,000832 GB200 GB SSDLarge enterprise — consider dedicated DB server
30,000 – 60,000+8–1632–64 GB500 GB SSDEnterprise — dedicated DB server recommended, increase MariaDB connection pool

Disk estimates include database storage. Flow analytics data (if enabled) can grow 1-5 GB/day depending on volume — plan accordingly or configure retention policies.

Worker Agent

Assets at SitevCPUsRAMDisk
Up to 50022 GB10 GB
500 – 5,00024 GB20 GB
5,000+48 GB40 GB

Software Prerequisites

ComponentRequirement
JavaOpenJDK 21+ (Temurin, Corretto, or Oracle)
Application ServerApache Tomcat 10.1+ (included in deployment package)
DatabaseMariaDB 10.5+ or MySQL 8.0+
OSLinux (RHEL/CentOS/Rocky 8+, Ubuntu 20.04+, Debian 11+) or Windows Server 2019+
PowerShell CoreRequired on the scanning host for WinRM/Windows discovery (pwsh 7.x)

Step-by-Step Installation

1. Install Java 21

# Ubuntu/Debian
sudo apt update && sudo apt install -y openjdk-21-jdk

# RHEL/Rocky/CentOS
sudo dnf install -y java-21-openjdk java-21-openjdk-devel

# Verify
java -version

2. Install MariaDB

# Ubuntu/Debian
sudo apt install -y mariadb-server
sudo systemctl enable --now mariadb

# RHEL/Rocky
sudo dnf install -y mariadb-server
sudo systemctl enable --now mariadb

# Secure installation
sudo mysql_secure_installation

3. Create Database and User

CREATE DATABASE ucontrolinsight CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'ucontrolinsight'@'localhost' IDENTIFIED BY 'YourSecurePassword';
GRANT ALL PRIVILEGES ON ucontrolinsight.* TO 'ucontrolinsight'@'localhost';
FLUSH PRIVILEGES;

4. Install Tomcat 10

# Download and extract
wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.x/bin/apache-tomcat-10.1.x.tar.gz
tar xzf apache-tomcat-10.1.x.tar.gz -C /opt/
ln -s /opt/apache-tomcat-10.1.x /opt/tomcat

# Create service user
useradd -r -s /sbin/nologin tomcat
chown -R tomcat:tomcat /opt/tomcat

5. Configure Environment

Create /opt/tomcat/bin/setenv.sh:

#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-21
export CATALINA_OPTS="-Xms256m -Xmx1024m"
export SPRING_DATASOURCE_URL="jdbc:mariadb://localhost:3306/ucontrolinsight"
export SPRING_DATASOURCE_USERNAME="ucontrolinsight"
export SPRING_DATASOURCE_PASSWORD="YourSecurePassword"
export UCONTROL_MASTER_KEY="$(openssl rand -hex 32)"

Important: The UCONTROL_MASTER_KEY is used to encrypt credentials at rest. Back it up securely — if lost, all stored credentials must be re-entered.

6. Deploy the WAR

# Copy WAR to Tomcat webapps
cp uControlInsight.war /opt/tomcat/webapps/

# Start Tomcat
/opt/tomcat/bin/startup.sh

# Check logs
tail -f /opt/tomcat/logs/catalina.out

The application will be accessible at http://your-server:8080/uControlInsight/

7. Create Systemd Service (recommended)

Create /etc/systemd/system/ucontrolinsight.service:

[Unit]
Description=uControl Insight (Tomcat 10)
After=network.target mariadb.service

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-21"
Environment="SPRING_DATASOURCE_URL=jdbc:mariadb://localhost:3306/ucontrolinsight"
Environment="SPRING_DATASOURCE_USERNAME=ucontrolinsight"
Environment="SPRING_DATASOURCE_PASSWORD=YourSecurePassword"
Environment="UCONTROL_MASTER_KEY=your-master-key-here"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now ucontrolinsight.service

8. Configure Reverse Proxy (optional, recommended)

Use Apache or Nginx to terminate TLS and proxy to Tomcat:

<VirtualHost *:443>
    ServerName ucontrol.yourcompany.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/your-cert.pem
    SSLCertificateKeyFile /etc/ssl/private/your-key.pem

    ProxyPreserveHost On
    ProxyPass /uControlInsight/ http://127.0.0.1:8080/uControlInsight/
    ProxyPassReverse /uControlInsight/ http://127.0.0.1:8080/uControlInsight/
</VirtualHost>

9. First Login

The database schema is created automatically on first start via Flyway migrations. A default administrator account is created:

Usernameadmin
Passwordadmin

Change the default password immediately after first login via Profile → Change Password.