Cluster setup

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

Download the 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 following prerequisites 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. See Configuring 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. See Configuring 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 TeamHub Control utility to reconfigure 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

For Helix TeamHub Web to communicate to TeamHub DB, configure MongoDB and Redis to accept authentication and remote connections.

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

sudo su - hth
create_mongodb_users.sh
Important

Remember the MongoDB credentials because they are also required to set up TeamHub web servers.

Next, reconfigure TeamHub DB for Redis authentication. Open the 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 the TeamHub DB:

sudo hth-ctl reconfigure

Step 5: Installing Helix TeamHub

Note

The computer you install the web components on must also meet the prerequisites. See Step 1: Before you begin.

Install using repositories

Install the package itself as root (recommended). If you 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. See Configuring 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. See Configuring 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 TeamHub Web to TeamHub DB

Tip

If you want to change the default Company ID, admin User ID, and password before you complete the installation, you must make the changes at this step before you run the hth-ctl reconfigure control command for the first time. Otherwise you can change them after the installation in company and user settings.

To change the default values now, run the following commands:

export HTH_INIT_COMPANY_NAME="<hth>"

export HTH_INIT_USERNAME="<admin>"

export HTH_INIT_PASSWORD="<password>"

Where, <hth> is the Company ID, <admin> is the User ID, and <password> is the password.

Note: Do not reconfigure TeamHub Web yet. First, 'Turn' the server into a cluster node, and add the TeamHub DB credentials for it to connect to the TeamHub databases. Open the 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 TeamHub Web:

sudo hth-ctl reconfigure

Step 7: Bootstrapping

At this stage Helix TeamHub is installed and running, 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 TeamHub instance needs to have a valid license before accessing the dashboard. The license can be managed in TeamHub Admin. See License for more information.

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