> ## Documentation Index
> Fetch the complete documentation index at: https://docs.incredibuild.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installing Components

Last updated on Sep 04, 2024

Incredibuild is installed in the **/opt/incredibuild** and **/opt/incredibuild/management** directories, however, the data files are stored in the data directory you specify in the installation commands.

## Installation Process

1. Verify that your machines meet all [operating system](/mac/4.11.0/supported-platforms-tools) and [system](/mac/4.11.0/system-requirements) requirements. Make sure that the required ports are opened, or use the parameters below to modify the ports.

2. Get the Incredibuild for Mac DMG file.

3. Copy the DMG file to any machine you want to install Incredibuild on.

4. Mount the DMG file with the following command (replace Incredibuild\_4.2.0.82 with the filename for your version)

   ```
   hdiutil attach -quiet Incredibuild_4.2.0.82.app.dmg
   ```

   Alternatively, you can mount the DBG file by double-clicking it in Finder.

5. Run the installation command using the examples and command-line options below.

6. Unmount the DMG file with the following command

   ```
   hdiutil detach /Volumes/Incredibuild
   ```

## Installation Examples

Modify the examples below depending on the exact name and version of your installation file, as well as modifying parameters to suit your environment:

Install Primary Coordinator with Initiator Agents

```
sudo /Volumes/Incredibuild/Incredibuild.app/Contents/MacOS/installbuilder.sh --action install --coordinator enabled --initiator enabled --accept-eula true --data-dir /etc
```

Install Initiator Agent Only

```
sudo /Volumes/Incredibuild/Incredibuild.app/Contents/MacOS/installbuilder.sh --action install --initiator enabled --data-dir /etc --coordinator-machine <coordinator-ip>
```

Install Helper Agent Only

```
sudo /Volumes/Incredibuild/Incredibuild.app/Contents/MacOS/installbuilder.sh --action install --helper enabled --data-dir /etc --coordinator-machine <coordinator-ip>
```

Install Agent as Both Initiator and Helper

```
sudo /Volumes/Incredibuild/Incredibuild.app/Contents/MacOS/installbuilder.sh --action install --initiator enabled --helper enabled --data-dir /etc --coordinator-machine <coordinator-ip>
```

Install Build Cache Service

```
sudo /Volumes/Incredibuild/Incredibuild.app/Contents/MacOS/installbuilder.sh --action install --build-cache-service enabled --data-dir <path to installation directory> --coordinator-machine <DNS name or IP of Primary Coordinator>
```

## Full Installation Command List

There are many more parameters that can be used to modify the installation. To display Incredibuild help, use the install command without any parameters.

| Parameters                             | Description                                                                                                                                                  | Possible Values                                                         | Dependencies and Notes                                                                                                                                                                                                                                                                                                                                                                                                                |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Main Parameters**                    |                                                                                                                                                              |                                                                         |                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `--action`                             | Defines whether you are installing or upgrading.                                                                                                             | \{install,upgrade}                                                      | This parameter is always required                                                                                                                                                                                                                                                                                                                                                                                                     |
| `--coordinator`                        | Primary Coordinator installation                                                                                                                             | \{enabled,disabled}                                                     | You cannot install a primary and a secondary Coordinator on the same machine                                                                                                                                                                                                                                                                                                                                                          |
| `--secondary-coordinator`              | Secondary Coordinator installation                                                                                                                           | \{enabled,disabled}                                                     | You cannot install a primary and a secondary Coordinator on the same machine                                                                                                                                                                                                                                                                                                                                                          |
| `--initiator`                          | Initiator Agent installation                                                                                                                                 | \{enabled,disabled}                                                     | Can be installed on the same machine as a helper and a Primary Coordinator                                                                                                                                                                                                                                                                                                                                                            |
| `--helper`                             | Helper Agent installation                                                                                                                                    | \{enabled,disabled}                                                     | Can be installed on the same machine as an Initiator and a Primary Coordinator                                                                                                                                                                                                                                                                                                                                                        |
| `--build-cache-service`                | Installs a Build Cache Service that hosts shared Build Cache.                                                                                                | \{enabled,disabled}                                                     | Cannot be installed on a machine with a Helper, Initiator, or Coordinator.                                                                                                                                                                                                                                                                                                                                                            |
| `--coordinator-machine`                | The IP address or hostname of the Primary Coordinator machine.                                                                                               | Must use a static identifier - either a static IP address or a hostname | Required for the installation of an Initiator, Helper, or Secondary Coordinator on a remote machine. It establishes the communication with the Primary Coordinator. <br /> When an Agent is installed with the Coordinator on the same machine, this parameter is not needed.                                                                                                                                                         |
| `--data-dir`                           | The path to the storage directory, where Incredibuild DBs, log files, and helper file cache (for helper machines only) will be stored.                       |                                                                         | This parameter must be included in the installation of all components. Incredibuild will automatically create a link to this path. <br /> The storage directory cannot be under: /opt/incredibuild, the user's home directory, or /etc/incredibuild. <br /> The directory cannot be located on any of the following operating systems: fuse, cifs, smb, vxfs, tmpfs, nfs. <br /> You must have execute permissions on this directory. |
| `--accept-eula`                        | Pre-approves the end user license agreement (EULA). If this is not done, you will be asked to approve the agreement during installation in the command line. | \{true,false}                                                           |                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **Optional Parameters**                |                                                                                                                                                              |                                                                         |                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `--helper-cache-size`                  | The size of the helper file cache in GB.                                                                                                                     | Integer                                                                 | Default is 10.                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `--build-cache-service-size`           | The size of the Build Cache service in GB.                                                                                                                   | Integer                                                                 | Default is 100. Only for Build Cache Service machines.                                                                                                                                                                                                                                                                                                                                                                                |
| `--local-build-cache-size`             | The size of the local Build Cache on an Initiator in GB.                                                                                                     | Integer                                                                 | Default is 100.                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `--skip-coordinator-test`              | For Agent installations, skip the connectivity test to the Primary Coordinator that is performed by default.                                                 | \{true,false}                                                           | The test is performed by default and is only skipped if you set this parameter to true.                                                                                                                                                                                                                                                                                                                                               |
| `--disable-telemetry`                  | Opt out of sending product usage data to Incredibuild.                                                                                                       | \{true,false}                                                           | False by default                                                                                                                                                                                                                                                                                                                                                                                                                      |
| **Port Parameters - Optional**         |                                                                                                                                                              |                                                                         |                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `--coordinator-message-transport-port` | Internal TCP port required for communication with the Coordinator.                                                                                           | Integer                                                                 | Default is 5672. Only for Primary Coordinators.                                                                                                                                                                                                                                                                                                                                                                                       |
| `--coordinator-ui-port`                | Modifies the port for accessing the Web Management Console using HTTPS.                                                                                      | Integer                                                                 | Default is 8000. Only for Primary Coordinators.                                                                                                                                                                                                                                                                                                                                                                                       |
| `--local-http-port`                    | Modifies the port for accessing the Web Management Console using HTTP.                                                                                       | Integer                                                                 | Default is 8080. For all machines except Primary Coordinators.                                                                                                                                                                                                                                                                                                                                                                        |
| `--local-https-port`                   | Modifies the port for accessing the Web Management Console using HTTPS.                                                                                      | Integer                                                                 | Default is 8081. For all machines except Primary Coordinators.                                                                                                                                                                                                                                                                                                                                                                        |
| `--temp-dir`                           | The temporary location to extract installer files                                                                                                            |                                                                         |                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `--utility-port`                       | The Coordinator Utility Port for helper allocation.                                                                                                          | Integer between 1-65535                                                 | Default is 9953                                                                                                                                                                                                                                                                                                                                                                                                                       |
