Requirements Matrix
The table below describes what is required for each single-service node. In a High Availability configuration, a single-service node represents each of the HA server instances.
Supported Platforms:
- Linux Operating Systems
- Debian 8.x or 9.x
- Centos / RHEL 6.x or 7.x
- Ubuntu 16.04 or 18.04
- Windows Server 2008 R2, 2016 or 2019 (JFrog Artifactory only)
Processor: 64 bit OS/JVM
| Product | Processor | Memory | Storage | External Network Port | Internal Network Ports (default) | Databases/Third Party Applications |
|---|---|---|---|---|---|---|
| Artifactory (Version 7.0 and above) | Based on number of users (Min. 4 cores):
| Based on number of users (Min. 4 GB):
| Based on expected artifact storage volume. Fast disk with free space that is at least 3 times the total size of stored artifacts.
|
|
| Supported: Oracle (11.2, 12.1, 12.2, 18, 19), MySQL (5.6, 5.7), MS SQL (2012 and above), PostgreSQL (9.5, 9.6, 10, 11) MariaDB (10.1) |
Mission Control Min requirements. Assuming running with an external database. | 4 cores | 12 GB | 100 GB |
|
| Required: PostgreSQL (9.5, 9.6, 10.x, 10.5, 11.5), ElasticSearch 6.6.x (for Mission Control versions 4.0 and 4.2) ElasticSearch 7.6.1 (for Mission Control versions 4.3.2 and above) |
Xray Min requirements. Assuming running with an external database. | 6 cores | 9 GB | 100 GB |
|
| Required: PostgreSQL (9.x), PostgreSQL 10.x (for Xray versions 3.4.0 and above) |
Distribution (Version 2.0 and above) Min requirements. Assuming running with an external database. | 3 cores | 5 GB | 50 GB |
|
| Required: PostgreSQL (9.5, 9.6) |
| Pipelines (Version 1.0 and above) | 4 cores | 8 GB | 100 GB |
|
| Required: PostgreSQL (9.5), RabbitMQ (3.5.7) |
Java
Java based products (Artifactory, Distribution, Mission Control) must run with JDK 11. The JDK is already bundled into the applications.
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. The larger your repository or number of concurrent users, the larger you need to make the -Xms and -Xmx values accordingly.
Set your JVM parameters in the system.yaml configuration file.
shared: extraJavaOpts: "-Xms512m -Xmx2g"
Browsers
Artifactory has been tested with the latest versions of:
- Chrome
- Firefox
- Safari
System Time Synchronization
The JFrog Platform requires time synchronization between all JFrog services within the same Platform.
Unsynchronised services may cause issues during authentication and token verification.
Docker Requirements
For Docker and Docker Compose installations, JFrog services require Docker v18 and Docker Compose v1.24 and up to be installed on the machine on which you want to run on.
For install instructions, please refer to the Docker and the Docker Compose documentation.
Special Requirements
Artifactory - 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.
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.
Xray - 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

6 Comments
Yossi Shaul
system requirements are not up-to-date with the latest ports. see this - https://docs.google.com/document/d/1RVZZm9X6bYDKbUDyRR4-uFqFYQfDn1oDz61NZjeKYis/edit#heading=h.9446og9erz4k. I think we should also specify which ports we need to expose and which are internal. Also what is gRPC
Adi Atzmony
Yossi Shaul there are some ports that are missing. Should I list all ports that are in the google doc in the documentation?
Yossi Shaul
Java 11 is now required. The instructions on how to configure are also different and described here and here
Ofir Azoulay-Rozanes
For Xray - I'm missing sizing based on the amount of new artifacts/builds a day as well as directions for initial onboarding - in order to know how to support a large scale.
Also - needed info for the case HA is needed.
The fact that the DBs are external - what is supported and what is not.
Ofir Azoulay-Rozanes
One more question - is it for the Unified? If so, more changes are needed in this page.
Arturo Aparicio
I am not sure what the "Ports" section is really telling me. Are those all the ports being used? Are they ports I need to open and if so, open it them up to everyone or just between the microservices or between HA nodes. The router port is also missing from all the products other than Artifactory.