Here's what it takes to install and run TeamForge, EventQ and other integrations supported by TeamForge.

TeamForge Hardware Requirements

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

  Small Medium Large X-Large
Users 100 500 1000-5000 10000+
CPU Octa-core 12-core > 12-core > 16-core
RAM 16GB 24GB 32GB 32GB
Jboss JVM Heap Size 1.5GB 3GB 6GB > 8GB
Elasticsearch JVM Heap Size 2GB 2GB 2GB 2GB
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.

  Small Medium Large X-Large
Artifacts 15000 70000 100000 100000
Flex Fields 25 50 100 100
Projects 20 80 500 500
Integrations 0-1 0-2 0-2 0-2
Integrated Applications 0-2 0-3 3+ 3+

EventQ Hardware Requirements

Single Host Installation Setup

This section outlines the hardware requirements for installing TeamForge EventQ services on a single server. The single-host installation places all three TeamForge EventQ services (App Server, MQ Server, and DB Server) on a single operating system. This configuration is designed for trials and moderate load, while the multi-host installation setup is provided as a first step toward scaling your TeamForge EventQ instance.

Prepare for installation by setting up:

  • Host running RHEL/CentOS 6.10 or 7.5
  • User credentials with sudo privileges on the host
Description Services CPU RAM Storage
Single host setup with all EventQ services on the same server App, DB and MQ servers Quad-core 2.5 GHz 8 GB 74 GB

Multi-host Installation Setup

For high load instances or when performance is critical, install TeamForge EventQ services on separate servers or virtual machines.

Multi-host installation originates on a single server and installs core services and the TeamForge EventQ application on that first server (the App Server). Then, the installer remotely installs the database service on a second server (the DB Server) and the message queue service on a third server (the MQ Server).

Prepare for a multi-host installation by setting up:

  • Empty hosts running RHEL or CentOS 6.10 or 7.5
  • User credentials with sudo privileges on all three hosts
  • ssh routes from the App server host to the other two hosts

The following are minimum resource requirements:

Description Service CPU RAM Storage Bandwidth
EventQ App Server App Quad-core 2.5 GHz 4 GB 16 GB 1 Gbps to DB Server
MongoDB DB Server DB Quad-core 2.5 GHz 4 GB 50 GB 1 Gbps to App Server
AMQP Message Queue Server MQ Quad-core 2.5 GHz 4 GB 16 GB NA

TeamForge Software Requirements

  • Redhat Enterprise Linux/CentOS 6.10 and 7.5

    • 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).
  • Google Chrome 67
  • Mozilla Firefox 61
  • Microsoft IE 11

    TeamForge user interfaces are best viewed at screen resolution of at least 1280 x 800 (or more) pixels.

  • PostgreSQL 9.6.5
  • Oracle Server 12c
  • Oracle Client 12c

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

  • Review Board 2.5.6.1
  • Git/Gerrit 2.14.x
  • Subversion 1.8.19

EventQ Software Requirements

  • SSH and SFTP clients are required, i.e. openssh-client. To test for this dependency, on the target server, issue the command: sftp localhost.
  • createrepo package is required by the disconnected mode installation. To test for this dependency, on the target server, issue the command: createrepo --version.
  • EventQ has a number of other open source software (such as Nginx, Redis and so on) dependencies, all of which are installed as part of the installation process. The following software services and their dependencies are installed:

    Nginx Installed on EventQ App Server
    Phusion Passenger Installed on EventQ App Server
    Redis Installed on EventQ App Server
    MongoDB Installed on EventQ DB Server
    RabbitMQ Installed on EventQ DB Server

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:

Description Service CPU RAM Storage
Baseline Application and Database Server Application and Database 4-core 8GB Directly 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 listsbe installed on the same server on which TeamForge is installed.

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

Description Service CPU RAM
TeamForge Webhooks Event Broker Application & Database Server Application & Database 2-core 4GB (Upto 100 messages/sec)
4-core 8GB (Between 100 - 400 messages/sec)
8-core 16GB (Above 400 messages/sec)

Supported Integrations

TeamForge 18.3 supports the following integrations:

  • SubversionEdge 5.0
  • CVS 1.11.x
  • ViewVC 1.1.24
  • Nexus 2 (2.9.0-2.14.5)1
  • Nexus 3 (3.11.0)
  • Artifactory Pro 4.71
  • Jira 6.3-7.1
  • TestLink 1.9.15
  • Jenkins 1.645 and later

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.

Port Description
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.
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 18.3

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

Source Server Target Server Port to Be Open on the Target Server Remarks
Apache All TeamForge App 80 or 443 443 for SSL
TeamForge Database TeamForge App TeamForge Database 5432
SVN Integration All SVN 80 or 443 443 for SSL
Git Integration All Git 80 or 443 443 for SSL
Git SSH All Git 29418
Search TeamForge App Search 2099
Binaries TeamForge App Binaries 8500
Reports DB TeamForge App Reports DB 5432 or 5632 5432 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 ETL TeamForge App Reports ETL 7010
Code Search (Elasticsearch) All Code Search (Elasticsearch) 9200

EventQ Port Requirements

Ports Used by TeamForge EventQ Services

Port Service Host
8844 HTTP/HTTPS App Server
6379 Redis App Server
27017 MongoDB DB Server
28017 MongoDB DB Server
5672 RabbitMQ MQ Server
15672 RabbitMQ Management Console MQ Server

Ports to be Open in a Firewall Environment for EventQ

The following use cases detail TeamForge EventQ’s firewall/routing requirements. By default, end-user web access is proxied through the primary TeamForge web server. TeamForge EventQ adapters supply data using the MQ layer and therefore need access to the MQ server (default port 5672). There are also private access requirements between the various installed services as detailed below.

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

Source Server Target Server Ports to Be Open on the Target Server Description
App server TeamForge server 443/80 App communication with TeamForge server
TeamForge server App server 8844 TeamForge communication with App server
TeamForge EventQ Adapters MQ server 5672 Message communication between Adapters and MQ server
App server MQ server 5672 App communication with MQ server
TeamForge server MQ server 5672 TeamForge communication with MQ server
App server MQ server 15672 App administration of MQ server
App server DB server 27017 App server communication with DB server
App server MQ server 22 App ssh to MQ server, installation only
App server DB server 22 App ssh to DB server, installation only

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 Server Target Server Ports to Be Open on the Target Server Description
Baseline Application TeamForge Database 5432 Baseline Application communication with TeamForge database server
Baseline Application Baseline Database 5432 Baseline Application communication with Baseline database server
TeamForge Application Baseline Application 9191 Baseline Application communication with TeamForge Application
TeamForge Application Baseline Post Install Application 9192 Baseline 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 Server Target Server Ports to Be Open on the Target Server Description
TeamForge Webhooks-based Event Broker Application TeamForge Webhooks-based Event Broker Database 5432 TeamForge Webhooks-based Event Broker application communication with its database server
Publisher Application TeamForge Webhooks-based Event Broker Application 3000 Publisher application communication with TeamForge Webhooks-based Event Broker application
Subscriber Application TeamForge Webhooks-based Event Broker Application Subscriber port (Unknown)

Subscriber application communication with TeamForge Webhooks-based Event Broker application


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