Have a question? Want to report an issue? Contact JFrog support

Skip to end of metadata
Go to start of metadata

Overview

The purpose of this page is to specify the requirements for running the components of the JFrog Enterprise+ platform to assist you in setting up the servers running each component.

Separate server for each component

While not a strict requirement, we strongly recommend running each component of the JFrog Enterprise+ platform on its own separate server. 

The following sections specify the system requirements for each of the JFrog Enterprise+ platform components in terms of the following parameters:

  • Recommended/required hardware
  • Supported platforms
  • Java requirements
  • Supported browsers
  • Other requirements specific to each Enterprise+ component

Summary

The following table summarizes the system requirements of all the components of the JFrog Enterprise+ platform for each single-service node. Please refer to the sections below for full details on the requirements for each component.

ProductSupported PlatformsProcessorMemoryStorageNetwork PortsDatabasesComments
Artifactory (Version 6.0 and above)Linux, Windows (Vista and higher), Solaris and Mac OS X

In accordance with number of users

Min. 4 cores

 

In accordance with number of users

Min. 4 GB

 

Based on expected artifact storage volume.8081 for Artifactory / Artifactory Edge Node UI
8040 for the Access service
6061 for the Replicator
Supported: Oracle, MySQL, MS SQL, PostgreSQL and MariaDBFor large installations, please contact JFrog Support.
Mission Control
(Version 3.0 and above)
Debian 8.x, Centos 7.x, Ubuntu 16.x, Red Hat 7.x6 cores8 GB100 GB8085 for Scheduler
8087 for Executor
8090 and 8089 for Insights 
9200 and 9300 for Elasticsearch
27017 for MongoDB

Required: MongoDB

 

 
Xray
(Version 2.1 and above)
Ubuntu 14.04 , Centos 7.x, Debian 8.x, Red Hat 6.x, Red Hat 7.x8 cores16 GB100 GB8000 for UI
5672 for rabbitmq
15672 for the http client and rabbitmqadmin
25672 and 4369 for internal Xray processes
Required: MongoDB and PostgreSQL 

Distribution (Version 1.0 and above)

Ubuntu 14.04, Centos 7.x, Debian 8.x, Red Hat 6.x, Red Hat 7.x8 cores8 GB50 GB8080 for UI  
Page Contents

 


Artifactory System Requirements

Hardware

The following table provides hardware recommendations for a single server machine:

Number of developersOS/JVMProcessor*Memory (RAM) for JVM HeapStorage
1 - 2064 bit4 cores4GBFast disk with free space that is at least 3 times the total size of stored artifacts
20 - 10064 bit4 cores8GBFast disk with free space that is at least 3 times the total size of stored artifacts
100 - 20064 bit8 cores (16 cores recommended)12GBFast disk with free space that is at least 3 times the total size of stored artifacts (backup SAN recommended)
200+64 bitPlease contact JFrog support for a recommended setup.

*Memory (RAM) for JVM Heap

This specifies the amount of memory that Artifactory requires from the JVM heap. The server machine should have enough additional memory to run the operating system and any other processes running on the machine. 

Build machine

For the purposes of this table, a build machine is considered equivalent to 10 developers

Working with Very Large Storage

In most cases, our recommendation is for storage that is at least 3 times the total size of stored artifacts in order to accommodate system backups.  However, when working with a very large volume of artifacts, the recommendation may vary greatly according to the specific setup of your system.  

Therefore, when working with over 10 Tb of stored artifacts, please contact JFrog support who will work with you to provide a recommendation for storage that is customized to your specific setup.

High Availability Configuration

If you are running Artifactory in a High Availability configuration, to maintain high system performance in case of single or multiple server crash, the same recommended hardware guidelines described above apply for each of the HA server instances.  In addition, you will need the following to set up your HA configuration:

Additional Hardware

Artifactory HA requires the following additional hardware:

  • Load balancer
  • External database server with a single URL to the database
Network
  • All the Artifactory HA components (Artifactory cluster nodes, database server and load balancer) must be within the same high-speed LAN
  • All the HA nodes must communicate with each other through dedicated TCP ports
  • Network communications between the cluster nodes must be enabled for each of the cluster nodes.
Database

Artifactory HA cannot run with the default internal Derby database, and requires an external database. Databases that are currently supported are Oracle, MySQL, MS SQL and PostgreSQL. For details on how to configure any of these databases please refer to Configuring the Database.

To avoid network latency issues when reading and writing artifacts data, we strongly recommend creating the database either on a machine that is close (latency well below 1 ms) to the machine on which Artifactory is running (database engine and storage) with fast storage. This recommendation is critical when using fullDb (whereby files are served from database BLOBs) and the file system cache is small.

Supported Platforms

Artifactory has been tested and verified on Linux, Windows (Vista and higher), Solaris and Mac OS X.

You should be able to run Artifactory on other platforms, but these have not been tested.

Java

You must run Artifactory with JDK 8, preferably JDK 8 update 45 and above.

JDK Download

You can download the latest JDK from the Oracle Java SE Download Site.

JAVA_HOME and JRE_HOME

Make sure your JAVA_HOME environment variable correctly points to your JDK 8 installation.

If you also have JRE_HOME defined in your system, this will take precedence over JAVA_HOME and therefore you need to either point JRE_HOME to your JDK 8 installation, or remove the JRE_HOME definition.

 

JVM Memory Allocation

While not a strict requirement, we recommend that you modify the JVM memory parameters used to run Artifactory.

You should reserve at least 512MB for Artifactory, and the recommended values for JVM parameters are as follows:

The larger your repository or number of concurrent users, the larger you need to make the -Xms and -Xmx values accordingly.

Recommended values are:

-server -Xms512m -Xmx2g -Xss256k -XX:+UseG1GC

 

To set your JVM parameters according to your platform, please refer to the corresponding instructions for Linux, Solaris or Mac, or Windows.

Servlet Containers

Artifactory should be run with its bundled Tomcat 8 servlet container. 

From version 5.5, Artifactory is bundled with Tomcat version 8.5.23

Browsers

Artifactory has been tested with the latest versions of Google Chrome, Firefox, Internet Explorer and Safari. 

Port Allocations

Artifactory requires the following communication ports to be available:

  • Port 8081 for Artifactory / Artifactory Edge Node UI
  • Port 8040 for the Access service
  • Port 6061 for the Replicator

Mission Control System Requirements

Hardware

JFrog Mission Control requires the following hardware:

  • Processor: 6 cores
  • RAM Memory: 8 GB
  • Storage: 100 GB

Supported Platforms

JFrog Mission Control supports any non-Windows platform that can run Docker v1.11 and above. In addition, it has been tested and verified to run as a non-Docker installation on the following 64-bit flavors of Linux:

  • Debian 8.x

  • Centos 7.x

  • Ubuntu 16.x
  • Red Hat 7.x

Java

You must run Mission Control with JDK 8.

JDK Download

You can download the latest JDK from the Oracle Java SE Download Site.

JAVA_HOME and JRE_HOME

Make sure your JAVA_HOME environment variable correctly points to your JDK 8 installation.

If you also have JRE_HOME defined in your system, this will take precedence over JAVA_HOME and therefore you need to, either point JRE_HOME to your JDK 8 installation, or remove the JRE_HOME definition.

Browsers

Mission Control has been tested with the latest versions (known at the time of release) of Google Chrome, Firefox and Safari.

Port Allocations

Mission Control requires the following communication ports to be available:

  • Port 8080 for the Mission Control UI

Other Requirements

SELinux

Centos flavors may have issues starting MongoDB because of SELinux restrictions. Please refer to the  MongoDB documentation for instructions on configuring SELinux. 


Xray System Requirements

Hardware

JFrog Xray requires the following hardware:

  • Processor: 8 cores
  • RAM Memory: 16 GB
  • Storage: 100 GB
  • An Artifactory separate host machine   

Allocated storage space may vary

Xray downloads and then deletes fetched artifacts after indexing. However, in order to have more parallel indexing processes, and thereby more temporary files at the same time would require more space.

This is especially applicable for large BLOBs such as Docker images.

Supported Platforms

JFrog Xray supports any non-Windows platform that can run Docker v1.11 and above, and in addition, has been tested and verified to run as a non-Docker installation on the following 64-bit flavors of Linux:

  • Ubuntu 14.04 
  • Centos 7.x
  • Debian 8.x
  • Red Hat 6.x 
  • Red Hat 7.x 

Browsers

Xray has been tested with the latest versions (known at the time of release) of Google Chrome, Firefox, Internet Explorer, Microsoft Edge and Safari.

Port Allocations

Mission Control requires the following communication ports to be available:

  • Port 8000 for the Xray UI

In addition, when running Xray HA, you also need the following communication ports to be available

  • Port 5672 for rabbitmq
  • Port 15672 for the http client and rabbitmqadmin
  • Ports 25672 and 4369 for internal Xray processes

Other Requirements

Docker

JFrog Xray requires Docker v 1.11 and up to be installed on the machine on which you want to run Xray. For instructions on installing Docker, please refer to the  Docker documentation.

File Handle Allocation Limit

Avoid performance bottlenecks

In the process of deep recursive scan in which Xray indexes artifacts and their dependencies (metadata), Xray needs to concurrently manage many open files. The default maximum number of files that can be opened concurrently on Linux systems is usually too low for the indexing process and can therefore cause a performance bottleneck. For optimal performance, we recommend increasing the number of files that can be opened concurrently to 100,000 (or the maximum your system can handle) by following the steps below.

Use the following command to determine the current file handle allocation limit:

cat /proc/sys/fs/file-max

Then, set the following parameters in your /etc/security/limits.conf file to the lower of 100,000 or the file handle allocation limit determined above.

The example shows how the relevant parameters in the /etc/security/limits.conf file are set to 100000. The actual setting for your installation may be different depending file handle allocation limit in your system.

root hard nofile 100000
root soft nofile 100000
xray hard nofile 100000
xray soft nofile 100000
postgres hard nofile 100000
postgres soft nofile 100000
mongodb hard nofile 100000
mongodb soft nofile 100000
Screencast

Distribution System Requirements

Hardware

JFrog Distribution requires the following hardware:

  • Processor: 8 cores
  • RAM Memory: 8 GB
  • Storage: 50 GB

Supported Platforms

JFrog Distribution supports any non-Windows platform that can run Docker v1.11 and above, and in addition, has been tested and verified to run as a non-Docker installation on the following 64-bit flavors of Linux:

  • Ubuntu 14.04 
  • Centos 7.x
  • Debian 8.x
  • Red Hat 6.x 
  • Red Hat 7.x 

Browsers

Distribution has been tested with the latest versions (known at the time of release) of Google Chrome, Firefox, Internet Explorer, Microsoft Edge and Safari.

Port Allocations

Distribution requires the following communication ports to be available:

  • Port 8080 for the Distribution UI

Proxy

In corporate environments it is often required to go through a proxy server to access remote resources.

JFrog Distribution should be installed in the same site as your JFrog Mission Control when communication with Artifactory instances through a proxy is required. This will enable the Distribution service to use the same proxy configurations set up in Mission Control.

Other Requirements

Docker

JFrog Distribution requires Docker v 1.11 and up to be installed on the machine on which you want to run Distribution. For instructions on installing Docker, please refer to the  Docker documentation.

Artifactory

JFrog Distribution supports JFrog Artifactory v6.0 and above.

 

  • No labels