Cluster Setup

Use the following instructions to install and configure Helix TeamHub for Cluster deployment.

Download the Helix TeamHub Cluster (hth-db and hth-web) packages specific to the host operating system from Perforce's package repositories.

Alternatively, use the Perforce's package repositories directly to install the packages instead of using the rpm -ivh or dpkg -i commands below.

Step 1: Before you begin

Confirm that you have met all of the prerequisites listed below before installing and configuring Helix TeamHub:

Step 2: Installing Helix TeamHub DB

Install using repositories

Install the package itself as root (recommended). If you have downloaded the TeamHub package, see Manually install from a downloaded TeamHub package.

RHEL and CentOS

  1. Configure the Perforce repository if you have not already done so, see Configure the Perforce repository.
  2. Run the following command to install the TeamHub package:

    sudo yum install hth-db

Ubuntu

  1. Configure the Perforce repository if you have not already done so, see Configure the Perforce repository.
  2. Run the following commands to install the TeamHub package:

    sudo apt-get update
    sudo apt-get install hth-db

Manually install from a downloaded TeamHub package

Upload the hth-db package to the server designated for Database role, install the package itself as root:

RHEL and CentOS

rpm -ivh hth-db-X.X.X-stable.el7.x86_64.rpm

Ubuntu

dpkg -i hth-db_X.X.X_amd64.deb

Step 3: Configuring Helix TeamHub DB

Every installation, upgrade, or configuration adjustment in Helix TeamHub will require the Helix TeamHub Control utility to reconfigure Helix TeamHub so the changes can take effect. To enable all required services after installation, run the following command:

sudo hth-ctl reconfigure

Step 4: Enabling Cluster Mode

In order for Helix TeamHub Web to be able to communicate to Helix TeamHub DB, configure MongoDB and Redis to accept authentication and remote connections.

Run the following command to create Helix TeamHub MongoDB admin and user credentials:

sudo su - hth
create_mongodb_users.sh
Important

Remember the MongoDB credentials, they're also required to set up Helix TeamHub Web servers.

Next, reconfigure Helix TeamHub DB for Redis authentication. Open the Helix TeamHub Configuration file at /var/opt/hth/shared/hth.json add the following lines to the JSON file and update credentials:

{
  ... (snipped)
  "app" : {
    "is_cluster": true
  },
  ... (snipped)
  "redis": {
    "enable": true,
    "password": "Choose Redis password"
  },
  "mongodb": {
    "enable": true,
    "username": "Enter username of Helix TeamHub MongoDB user",
    "password": "Enter password of Helix TeamHub MongoDB user"
  },
  ... (snipped)
}

Finally, apply the changes by reconfiguring Helix TeamHub DB:

sudo hth-ctl reconfigure

Step 5: Installing Helix TeamHub Web

Note

The Helix TeamHub Web machine must also meet the prerequisites, see Step 1: Before you begin.

Install using repositories

Install the package itself as root (recommended). If you have downloaded the TeamHub package, see Manually install from a downloaded TeamHub package.

RHEL and CentOS

  1. Configure the Perforce repository if you have not already done so, see Configure the Perforce repository.
  2. Run the following command to install the TeamHub package:

    sudo yum install hth-web

Ubuntu

  1. Configure the Perforce repository if you have not already done so, see Configure the Perforce repository.
  2. Run the following commands to install the TeamHub package:

    sudo apt-get update
    sudo apt-get install hth-web

Manually install from a downloaded TeamHub package

Upload the hth-web package to the server designated for Web application role, install the package itself as root.

RHEL and CentOS

rpm -ivh hth-web-X.X.X-stable.el7.x86_64.rpm

Ubuntu

dpkg -i hth-web_X.X.X_amd64.deb

Step 6: Connecting Helix TeamHub Web to Helix TeamHub DB

Note: Don't reconfigure Helix TeamHub Web yet. First, 'Turn' the server into a cluster node, and add Helix TeamHub DB credentials for it to connect to Helix TeamHub databases. Open the Helix TeamHub Configuration file at /var/opt/hth/shared/hth.json and add the following lines to the JSON file and update credentials and hosts:

{
  ... (snipped)
  "app" : {
    "is_cluster": true
  },
  ... (snipped)
  "backend": {
        "db_host": "Enter IP address or hostname of Helix TeamHub DB server",
        "db_port": "4002",
        "db_username": "Enter username of Helix TeamHub MongoDB user",
        "db_password": "Enter password of Helix TeamHub MongoDB user",
        "redis_host": "Enter IP address or hostname of Helix TeamHub DB server",
        "redis_password": "Enter Redis password chosen on Helix TeamHub DB server",
        "enable": true
  },
  ... (snipped)
}

Finally, apply the changes by reconfiguring Helix TeamHub Web:

sudo hth-ctl reconfigure

Step 7: Bootstrapping

At this stage Helix TeamHub is installed and running in Cluster mode, and can be accessed using hth as Company ID and admin as user ID and password (change them in company and user settings):

http://IP_ADDRESS_OF_YOUR_WEB_SERVER/login

However, the Helix TeamHub instance needs to have a valid license before accessing the dashboard. The license can be managed in Helix TeamHub Admin, see License for more information.

Helix TeamHub Admin can be used to further configure the instance (at minimum, configuring hostname and mail settings are recommended), see Bootstrap for more information.