Skip to main content
Version: TeamForge 24.0

Installation Requirements

TeamForge Hardware Requirements

The following table lists the CPU, RAM and JVM Heap Size recommendations for Small, Medium, Large and Extra-large sites.

 SmallMediumLargeX-Large
Users1005001000-500010000+
CPUOcta-core12-core> 12-core> 16-core
RAM16GB24GB32GB32GB
Jboss JVM Heap Size1.5GB3GB6GB> 8GB
Elasticsearch JVM Heap Size2GB2GB2GB2GB
You must have adequate RAM to accomodate the JVM heap requirements of Elasticsearch in addition to the JVM heap requirements of other components such as Jboss, integrated applications, and so on.
200 GB (or more) hard drive. The required hard drive capacity depends on the estimated amount of document and file release uploads.

The following table highlights the factors that can impact TeamForge performance. Numbers are indicative. Anything more than the prescribed numbers may impact the performance.

 SmallMediumLargeX-Large
Artifacts1500070000100000100000
Flex Fields2550100100
Projects2080500500
Integrations0-10-20-20-2
Integrated Applications0-20-33+3+
important

On Medium, Large, and X-Large sites, it is highly recommended that you install the TeamForge Application, Database, and SCM services on separate 64-bit servers based on the usage pattern.

Gerrit Hardware Requirements

The following table lists the CPU, RAM and Gerrit JVM Heap Size recommendations for Small, Medium, and Large sites.

For X-Large setup, see Gerrit Performance Cheat Sheet.

 SmallMediumLarge
Fetch requests per day100k500k1 Million
CPU4-core16-core32-core
RAM8GB16GB32GB
Gerrit JVM Heap Size4GB12GB28GB
200GB (or more) hard disk. The required hard disk capacity depends on the number and size of repositories.
important

These numbers are indicative. Adjust your hardware based on your Gerrit server's usage. To better understand Gerrit hardware requirements and performance tuning possibilities, see Gerrit Performance Cheat Sheet.

Baseline Hardware Requirements

It’s highly recommended that you install the TeamForge Baseline services on a separate server as the baseline process can consume considerable CPU and database resources.

The following table lists the hardware requirements of the Baseline Server:

DescriptionServiceCPURAMStorage
Baseline Application and Database ServerApplication and Database4-core8GBDirectly proportional to the number and size of baselines created. Typically, baseline packages can be large in size. It's recommended to scale the storage according to your site's requirements.

TeamForge Webhooks Event Broker Hardware Requirements

TeamForge Webhooks-based Event Broker can be installed on the same server on which TeamForge is installed.

The following table lists the hardware requirements for the Webhooks-based Event Broker:

DescriptionServiceCPURAM
TeamForge Webhooks Event Broker Application & Database ServerApplication & Database2-core4GB (Upto 100 messages/sec)
4-core8GB (Between 100 - 400 messages/sec)
8-core16GB (Above 400 messages/sec)

TeamForge Software Requirements

TeamForge 24.0 supports the following platforms:

  • RHEL 8.10

    • Do not customize your operating system installation. Select only the default packages list.
    • Red Hat Enterprise Linux servers must have access to the Red Hat Network or equivalent (satellite server, spacewalk, or RHN proxy).

Here's a list of a few noteworthy software that are installed by default when you install TeamForge 24.0:

  • Apache HTTPD Server
    • 2.4.37 for RHEL 8.10
  • JBoss 22.0
  • OpenJDK 17.0.61
  • Tomcat 9.0.73
  • PhantomJS 2.1.1
  • Elasticsearch 7.16.3
  • Highcharts 7.1.1
  • Subversion
  • 1.10.6 on RHEL 8.10

  • Git/Gerrit 3.6.8

  • Review Board 4.0.6

  • PostgreSQL Server 13.15

  • PostgreSQL JDBC Driver 42.6.0

  • Oracle Server 19c

  • Oracle Client 19c

  • Oracle JDBC Driver 23.2.0.0

    PostgreSQL 13.15 is installed by default when you install TeamForge 24.0. However, you can use Oracle if you want to. See PostgreSQL or Oracle? for more information.

TeamForge 24.0 supports the following browsers:

  • Google Chrome 99
  • Mozilla Firefox 98
  • Microsoft Edge 100

    • Microsoft Internet Explorer 10 and earlier are not actively tested and supported.
    • TeamForge user interfaces are best viewed at screen resolution of at least 1280 x 800 (or more) pixels.

Supported Integrations

TeamForge 24.0 supports the following integrations:

  • SubversionEdge 5.0
  • ViewVC 1.1.24
  • Nexus 3 (3.70.0)2
  • Jira 9.0.0–9.11.0
  • TestLink 1.9.17–1.9.20
  • Jenkins 2.332

Port Requirements

TeamForge Port Requirements

TeamForge components listen on a number of operating system ports. However, only a small subset must be exposed externally to enable users to access TeamForge services. Any port that is not absolutely needed must be closed.

You can select your open ports in one of these ways:

  • Use the firewall configuration GUI tool that comes with your operating system. It's usually launched with a command like system-config-selinux.
  • Open the /etc/sysconfig/iptables file and manually specify your open ports.

Ports Open to the Internet

Open the following operating system level ports. All other ports must be firewalled off to maintain security.

important

Do not open port 7080 or port 8080 to the Internet. These ports are only for communications between the TeamForge application and the source code integration service, when those two site components are running on separate boxes.

PortDescription

22 (SSH)

Port 22 is the default port for the secure shell (SSH). This is required for basic SSH administrative functionality and for CVS, as all CVS transactions occur over SSH. If all Teamforge repositories are in SVN (the default for Teamforge), then this port should be closed to the public and only accessible to the system administrators.

If you have to expose SSH to the Internet, the best way to protect it is to require SSH keys and not allow password authentication, and do not permit root logins over SSH. If you must use local authentication for SSH, enforce regular password changes and password complexity.

Note: If you have to expose SSH internally, limit access to the port to a bastion host if you can; otherwise limit it to specific trusted hosts or subnets.

25 (SMTP)

Port 25 is the default port for SMTP (email). TeamForge discussion forums include mailing list functionality that allows users to send email to the TeamForge server. The James mail server included with TeamForge listens on port 25 to accept this mail for processing.

80 (http)

Port 80 is the default port for Web data transfer. We strongly recommend that you set up SSL and use port 80 only to redirect to port 443.

443 (https)

Port 443 is the default port for encrypted Web data transfer (https). The Apache web server should be configured to encrypt all data so that it cannot be compromised by a third party with malicious intent. Apache can be configured to force all traffic to be sent over https, even when a request is sent via port 80 (http).
TeamForge can help you take care of this, if you tell it to. See Set up SSL for your TeamForge site for details.

29418 (Gerrit SSH)Port 29418 is the default port which should be open for Gerrit SSH.

Ports to be Open in a Firewall Environment for TeamForge 24.0

In the following table, Source Server is where the data is coming from and Target Server is where the data is going to.

Source ServerTarget ServerPort to Be Open on the Target ServerRemarks
ApacheAllTeamForge App80 or 443443 for SSL
TeamForge DatabaseTeamForge AppTeamForge Database5432
SVN IntegrationAllSVN80 or 443443 for SSL
Git IntegrationAllGit80 or 443443 for SSL
Git SSHAllGit29418
SearchTeamForge AppSearch2099
Reports DBTeamForge AppReports DB5432 or 56325432 is used by default as Reports DB is co-hosted with TeamForge database. 5632 can be used if you want Reports DB on a separate port.
Reports ETLTeamForge AppReports ETL7010
Code Search (Elasticsearch)AllCode Search (Elasticsearch)9200

Ports to be Open in a Firewall Environment for Baseline

In the following table, Source Server is where the data is coming from and Target Server is where the data is going to.

Source ServerTarget ServerPorts to Be Open on the Target ServerDescription
Baseline ApplicationTeamForge Database5432Baseline Application communication with TeamForge database server
Baseline ApplicationBaseline Database5432Baseline Application communication with Baseline database server
TeamForge ApplicationBaseline Application9191Baseline Application communication with TeamForge Application
TeamForge ApplicationBaseline Post Install Application9192Baseline Post Install Application communication with TeamForge Application

Ports to be Open in a Firewall Environment for TeamForge Webhooks-based Event Broker

In the following table, Source Server is where the data is coming from and Target Server is where the data is going to.

Source ServerTarget ServerPorts to Be Open on the Target ServerDescription
TeamForge Webhooks-based Event Broker ApplicationTeamForge Webhooks-based Event Broker Database5432TeamForge Webhooks-based Event Broker application communication with its database server
Publisher ApplicationTeamForge Webhooks-based Event Broker Application3000Publisher application communication with TeamForge Webhooks-based Event Broker application
Subscriber ApplicationTeamForge Webhooks-based Event Broker ApplicationSubscriber port (Unknown)Subscriber application communication with TeamForge Webhooks-based Event Broker application
Note: Subscriber ports should be accessible in a Firewall environment.

Footnotes

  1. TeamForge 19.2 and later used OpenJDK (it no longer uses Oracle JRE). It is recommended to remove the JAVA_HOME token, if added to your site-options.conf file. TeamForge uses the default JAVA_HOME which is set to the OpenJDK path.

  2. CollabNet releases new versions of integration plugins from time to time. It is recommended to upgrade your TeamForge-Nexus integration plugins whenever a new version is available.