TeamForge Hardware Requirements
The following table lists the CPU, RAM and JVM Heap Size recommendations for Small, Medium, Large and Extra-large sites.
|CPU||Octa-core||12-core||> 12-core||> 16-core|
|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.
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.
|Fetch requests per day||100k||500k||1 Million|
|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 (
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
|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
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:
|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.2. However, you can use Oracle if you want to. See PostgreSQL or Oracle? for more information.
- Review Board 22.214.171.124
- 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:
createrepopackage is required by the disconnected mode installation. To test for this dependency, on the target server, issue the command:
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 ServerImportant: In case you have an already existing instance of MongoDB and RabbitMQ, you may choose to use it instead of installing these services again. Make sure you have the required versions, though.
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:
|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 18.2 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)beta
Warning: The Nexus 3beta feature is expected to evolve over the next few TeamForge releases. Do not install/use the Nexus 3beta feature (TeamForge 18.2 version) in a production environment.
- Jira 6.3-7.42
- TestLink 1.9.15 and 1.9.16
- Jenkins 1.645-2.135
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
- Open the
/etc/sysconfig/iptablesfile 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.
|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 for Internal Use Only
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.2
|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|
|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
|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.
|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|
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|
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. ↩