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.
200GB (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+

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.

  Small Medium Large
Fetch requests per day 100k 500k 1 Million
CPU 4-core 16-core 32-core
Gerrit JVM Heap Size 4GB 12GB 28GB
200GB (or more) hard drive. The required hard drive capacity depends on the total size of all repositories.

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.9 or 7.4
  • 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.9 or 7.4
  • 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.9 and 7.4

    • 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 59
  • Mozilla Firefox 54
  • Microsoft Internet Explorer 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.1. However, you can use Oracle if you want to. See PostgreSQL or Oracle? for more information.

  • Review Board
  • 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

Supported Integrations

TeamForge 18.1 supports the following integrations:

  • SubversionEdge 5.0
  • CVS 1.11.x
  • ViewVC 1.1.24
  • Nexus 2.9.0-2.14.51
  • Artifactory Pro 4.71
  • Jira 6.3-7.42
  • TestLink 1.9.15 and 1.9.16
  • Crucible 3.0.1
  • Jenkins 1.645-2.135

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 for Internal Use Only

Open the REPORTS_DATABASE_PORT if you are granting direct access to the datamart from specific IPs using the REPORTS_DB_ACCESS_HOSTS site-options.conf token.

Ports to be Open in a Firewall Environment for TeamForge 18.1

Source Server Target Server Port 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.

Port From To Description
443/80 App server TeamForge server App communication with TeamForge server
8844 TeamForge server App server TeamForge communication with App server
5672 TeamForge EventQ Adapters MQ server Message communication between Adapters and MQ server
5672 App server MQ server App communication with MQ server
5672 TeamForge server MQ server TeamForge communication with MQ server
15672 App server MQ server App administration of MQ server
27017 App server DB server App server communication with DB server
22 App server MQ server App ssh to MQ server, installation only
22 App server DB server App ssh to DB server, installation only

  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

  2. Use the right version of the TeamForge Associations Add-on for the JIRA software you use. See JIRA Version Information