Difference between revisions of "Cluebase VMS Installation Manual"

From vCloud.ai Documentation
Jump to navigation Jump to search
Line 1: Line 1:
= Cluebase VMS Installation Manual =


Use this option when Docker is used by other applications on the server.
This manual explains how to install Cluebase VMS using the interactive installer package.


=== Everything ===
The installer deploys Cluebase VMS as a Docker Compose-based system. During installation, it can also install optional components such as the AI module, LPR module, BI service, HTTPS configuration, and GPU runtime support.


This option removes Cluebase VMS and BI and also purges Docker from the server.
== Installation Package ==


It removes:
The installation package contains:


* Docker Engine
* <code>install.sh</code> - main interactive installer.
* Docker CLI
* <code>lib/steps.sh</code> - installation steps and helper functions.
* Docker Compose plugin
* <code>lib/ui.sh</code> - interactive menu interface.
* Docker data under <code>/var/lib/docker</code>
* <code>templates/cluebase/</code> - Cluebase VMS Docker Compose templates, configuration files, certificates, and management scripts.
* Docker configuration under <code>/etc/docker</code>
* <code>templates/bi/</code> - optional BI service Docker Compose templates and configuration files.
* Docker socket and related files


<blockquote>⚠️ '''Warning:''' This option destroys all Docker containers, images, and volumes on the host, including containers unrelated to Cluebase VMS. The installer requires typed confirmation before continuing.</blockquote>
After installation, the installer creates the deployment directories in the directory where it is run:


== Advanced Options ==
* <code>./cluebasevms/</code> - Cluebase VMS deployment directory.
* <code>./bi/</code> - BI deployment directory, created only if BI is selected.


=== Force architecture ===
The installer also creates common management scripts in the same directory:


Use <code>ARCH_OVERRIDE</code> to force architecture detection:
* <code>./start.sh</code>
* <code>./stop.sh</code>
* <code>./restart.sh</code>
* <code>./update.sh</code>
* <code>./uninstall.sh</code>


<syntaxhighlight lang="bash">
== System Requirements ==
ARCH_OVERRIDE=arm64 ./install.sh --dry-run
</syntaxhighlight>


This is mainly useful for testing.
Minimal requirements depend on the number of cameras, enabled analytics, and archive retention period. For a basic installation, prepare a Linux server with:


=== Disable colored output ===
* Ubuntu or another compatible Debian-based Linux distribution.
* Bash shell.
* <code>sudo</code> access.
* Internet access for downloading Docker packages and Docker images.
* Static IP address.
* Free disk space for Docker images, configuration files, database data, archive files, and optional AI/BI data.


Use:
For GPU mode:


<syntaxhighlight lang="bash">
* NVIDIA GPU.
NO_COLOR=1 ./install.sh
* Installed NVIDIA driver.
</syntaxhighlight>
* Working <code>nvidia-smi</code> command.
* Internet access for installing NVIDIA Container Toolkit if it is not already installed.


This disables ANSI color output in the installer menus.
The installer supports the following CPU architectures:


== Offline Installation Note ==
* <code>x86_64</code> / <code>amd64</code>
* <code>aarch64</code> / <code>arm64</code>


The bundled README references these offline commands:
If the server architecture is not supported, the installer stops before making deployment changes.


<syntaxhighlight lang="bash">
== Network Ports ==
sudo ./offline_installer.sh
sudo ./offline_update.sh
</syntaxhighlight>


The attached installer archive inspected for this manual does not contain <code>offline_installer.sh</code> or <code>offline_update.sh</code>. Offline installation therefore requires a separate offline bundle that includes those scripts, Docker packages, Docker Compose binary, and pre-pulled image tarballs.
Depending on selected options, the following ports may be used:


== Troubleshooting ==
* <code>80</code> - Cluebase VMS web interface when HTTP is selected.
* <code>443</code> - Cluebase VMS web interface when HTTPS is selected.
* <code>8080</code> - BI web interface when HTTP is selected.
* <code>8443</code> - BI web interface when HTTPS is selected.
* <code>3000</code> - Cluebase backend local port.
* <code>3307</code> - MySQL external local binding.
* <code>4001</code> - livestream server local binding.
* <code>4444</code> - WebSocket server.
* <code>4646</code> - embedded video analytics service.
* <code>8095</code> - LPR API port.
* <code>8565</code> - RTSP server.
* <code>9001</code> - AI service port.
* <code>32433</code> - LPR license service port.


=== Docker group permissions ===
Make sure that required ports are not already used by another application.


After Docker installation, the installer adds the current user to the <code>docker</code> group. The current terminal session may not receive the new group permission immediately.
== Preparing the Installer ==


If Docker commands require sudo after installation, log out and log back in, then try again.
# Copy the installer archive to the target server.
# Extract the archive.
# Open a terminal in the extracted <code>installer</code> directory.
# Make sure the main script is executable:


=== Docker daemon is not ready ===
<pre>
chmod +x install.sh
</pre>


If Docker does not become ready, check:
The installer creates deployment files in the current working directory. Run it from the directory where you want the <code>cluebasevms</code> and optional <code>bi</code> folders to be created.


<syntaxhighlight lang="bash">
== Starting Installation ==
sudo systemctl status docker
sudo journalctl -u docker -n 50
</syntaxhighlight>


=== GPU mode fails ===
Run the installer:


If GPU mode fails, check:
<pre>
./install.sh
</pre>


<syntaxhighlight lang="bash">
The installer opens an interactive menu. Use the Up and Down arrow keys to move through options and press Enter to select.
nvidia-smi
docker info | grep -i nvidia
</syntaxhighlight>


If <code>nvidia-smi</code> does not work, install or repair the NVIDIA driver first, then rerun the installer.
[[File:Installer welcome screen.png|alt=Installer welcome screen|none|thumb|600x600px|Installer welcome screen]]


=== Port already in use ===
== Installation Options ==
 
If the web interface does not open, check whether required ports are already used:
 
<syntaxhighlight lang="bash">
sudo ss -tulpn
</syntaxhighlight>
 
Free the required port or change the deployment configuration before starting the services again.
 
=== Database does not become ready ===
 
Check the database logs:
 
<syntaxhighlight lang="bash">
docker logs vms-db --tail 200
</syntaxhighlight>
 
The installer waits for the message indicating that MySQL is ready for connections.
 
=== Migrations do not complete ===
 
Check migration logs:
 
<syntaxhighlight lang="bash">
docker logs vms-migration --tail 200
</syntaxhighlight>
 
The installer waits for <code>migration success</code> before starting the remaining Cluebase services.
 
=== Check running containers ===
 
Use:
 
<syntaxhighlight lang="bash">
docker ps
</syntaxhighlight>
 
or, if Docker requires sudo:
 
<syntaxhighlight lang="bash">
sudo docker ps
</syntaxhighlight>
 
Expected Cluebase containers may include:
 
* <code>vms-server</code>
* <code>vms-live-server</code>
* <code>vms-web</code>
* <code>vms-db</code>
* <code>vms-nginx</code>
* <code>vms-rtsp-server</code>
* <code>vms-va</code>
* <code>vms-ai</code>, if AI was selected
* <code>vms-lpr</code>, if LPR was selected
 
Expected BI containers may include:
 
* <code>bi-postgres</code>
* <code>bi-redis</code>
* <code>bi-migration</code>
* <code>bi-api</code>
* <code>bi-runner</code>
* <code>bi-streamer</code>
* <code>bi-dispatcher</code>
* <code>bi-ui</code>
* <code>bi-nginx</code>

Revision as of 09:29, 18 May 2026

Cluebase VMS Installation Manual

This manual explains how to install Cluebase VMS using the interactive installer package.

The installer deploys Cluebase VMS as a Docker Compose-based system. During installation, it can also install optional components such as the AI module, LPR module, BI service, HTTPS configuration, and GPU runtime support.

Installation Package

The installation package contains:

  • install.sh - main interactive installer.
  • lib/steps.sh - installation steps and helper functions.
  • lib/ui.sh - interactive menu interface.
  • templates/cluebase/ - Cluebase VMS Docker Compose templates, configuration files, certificates, and management scripts.
  • templates/bi/ - optional BI service Docker Compose templates and configuration files.

After installation, the installer creates the deployment directories in the directory where it is run:

  • ./cluebasevms/ - Cluebase VMS deployment directory.
  • ./bi/ - BI deployment directory, created only if BI is selected.

The installer also creates common management scripts in the same directory:

  • ./start.sh
  • ./stop.sh
  • ./restart.sh
  • ./update.sh
  • ./uninstall.sh

System Requirements

Minimal requirements depend on the number of cameras, enabled analytics, and archive retention period. For a basic installation, prepare a Linux server with:

  • Ubuntu or another compatible Debian-based Linux distribution.
  • Bash shell.
  • sudo access.
  • Internet access for downloading Docker packages and Docker images.
  • Static IP address.
  • Free disk space for Docker images, configuration files, database data, archive files, and optional AI/BI data.

For GPU mode:

  • NVIDIA GPU.
  • Installed NVIDIA driver.
  • Working nvidia-smi command.
  • Internet access for installing NVIDIA Container Toolkit if it is not already installed.

The installer supports the following CPU architectures:

  • x86_64 / amd64
  • aarch64 / arm64

If the server architecture is not supported, the installer stops before making deployment changes.

Network Ports

Depending on selected options, the following ports may be used:

  • 80 - Cluebase VMS web interface when HTTP is selected.
  • 443 - Cluebase VMS web interface when HTTPS is selected.
  • 8080 - BI web interface when HTTP is selected.
  • 8443 - BI web interface when HTTPS is selected.
  • 3000 - Cluebase backend local port.
  • 3307 - MySQL external local binding.
  • 4001 - livestream server local binding.
  • 4444 - WebSocket server.
  • 4646 - embedded video analytics service.
  • 8095 - LPR API port.
  • 8565 - RTSP server.
  • 9001 - AI service port.
  • 32433 - LPR license service port.

Make sure that required ports are not already used by another application.

Preparing the Installer

  1. Copy the installer archive to the target server.
  2. Extract the archive.
  3. Open a terminal in the extracted installer directory.
  4. Make sure the main script is executable:
chmod +x install.sh

The installer creates deployment files in the current working directory. Run it from the directory where you want the cluebasevms and optional bi folders to be created.

Starting Installation

Run the installer:

./install.sh

The installer opens an interactive menu. Use the Up and Down arrow keys to move through options and press Enter to select.

File:Installer welcome screen.png
Installer welcome screen

Installation Options