Step 1: Download and Install the VisibleThread API
Download the appropriate .rpm for your version, then install it:
https://visiblethread.s3.us-east-1.amazonaws.com/public/download/visiblethread-api-1.0.10-1.x86_64.rpm Checksum: 00da16f4ba72598b5d10829b3853efa7 sudo yum install -y /path/to/visiblethread-api-[version].rpm
This installs the provision.sh script (and its helper file lib.sh) to /usr/share/vtapi/setup/.
Step 2: Review the Provisioning Script
Before running it, review what the script will do:
sudo cat /usr/share/vtapi/setup/provision.sh
The script is divided into modular functions:
-
os_check— verifies the operating system is supported -
app_check— checks if VT API is already provisioned -
db_install— installs PostgreSQL locally -
db_config— configures the local PostgreSQL database -
db_remote_config— configures a connection to a remote PostgreSQL database -
java_install— installs Java 17 -
fw_config— opens the required port (tcp/8084) on the firewall
By default, each of these lines is either commented out or active as follows:
-
os_checkandapp_checkare active — the OS is checked, and the script will refuse to run if VT API is already provisioned. -
db_installanddb_config(local PostgreSQL) are active — the script installs and configures a local PostgreSQL database by default. -
db_remote_configis commented out. -
java_installis active — the script installs Java 17 for you by default. -
fw_configis commented out.
Step 3: Customize the Script for Your Environment
The defaults above (local PostgreSQL, Java installed by the script, no firewall changes) work for most single-server deployments. Edit the script only if you need something different:
sudo nano /usr/share/vtapi/setup/provision.sh
Using a remote PostgreSQL database instead of local:
# Comment out these lines # db_install || error_exit "Database installation failed." # db_config || error_exit "Database configuration failed." # Uncomment this line db_remote_config || error_exit "Remote database configuration failed."
Before running the script, set the connection details in the API environment file:
sudo nano /etc/default/vtapi.env
The script will prompt for your remote DB admin username/password when run, then connect and bootstrap using the values from the environment file.
Skipping Java installation (if Java 17 is already installed on the server):
# Comment out this line # java_install || error_exit "Java installation failed."
Opening the firewall port:
If VT Docs is on a different server to the API, uncomment fw_config to open tcp/8084. If they're on the same server, this is not normally required:
# Uncomment this line fw_config || error_exit "Firewall configuration failed."
Step 4: Run the Provisioning Script
sudo /usr/share/vtapi/setup/provision.sh
You'll be prompted to confirm before the script proceeds. Once complete, it starts the vtapi.service.