Before you proceed, see System Requirements for information on supported platforms, supported browsers, and other requirements.
Operating Systems and Platform Support
The following table lists the supported operating systems and the versions.
7.x, 8.x, 9.x
18.04, 20.04, 22.04
2016 or 2019
Amazon Linux 2023, Amazon Linux 2
Breaking Change Affecting RPM/Yum/Linux Archive Installations on Centos 7.x*
As part of our commitment to our customers to maintain the security and reliability of your JFrog Platform, from Artifactory version v7.43.x, JFrog Artifactory will officially run with JDK 17 and Tomcat 9.x on all installation types. Note that JDK 17 and Tomcat 9.x are not supported on all Centos 7.x versions.
CentOS 8.x Support
CentOS 8.x reached its end-of-life in December 2021. CentOS 8.x support for JFrog products has been deprecated by the end of June 2022.
The following table lists the supported platforms.
Installation on Kubernetes environments is through Helm Charts. Supported Helm version is Helm 3+.
From version 7.41.4, Artifactory supports installation on ARM64 architecture through Helm and Docker installations. You must set up an external database as the Artifactory database since Artifactory does not support the bundled database with the ARM64 installation. Artifactory installation pulls the ARM64 image automatically when you run the Helm or Docker installation on the ARM64 platform.
ARM64 support is also available for Xray, Distribution, and Insight. ARM64 support is not available for Pipelines.
Artifactory Database Requirements
You can configure your own database from the following list.
Artifactory supports the following databases.
Microsoft SQL Server
Artifactory HA requires an external database, which is fundamental to management of binaries and is also used to store cluster wide configuration files.
Since Artifactory HA contains multiple Artifactory cluster nodes, your database must be powerful enough to service all the nodes in the system. Moreover, your database must be able to support the maximum number of connections possible from all the Artifactory cluster nodes in your system.
If you are replicating your database you must ensure that at any given point in time all nodes see a consistent view of the database, regardless of which specific database instance they access. Eventual consistency, and write-behind database synchronization is not supported.
Artifactory File Store
The filestore is where binaries are physically stored.
Artifactory provides the following options to store binaries.
Local file system in which binaries are stored with redundancy using a binary provider, which manages synchronizing files between the cluster nodes according to the redundancy defined.
Cloud storageAmazon S3 and Google Cloud Storage
Network File System (NFS)
For detailed information, see Filestore Configuration.
While Artifactory can use a Networked File System (NFS) for its binary storage, you should do not install the application itself on an NFS. The Artifactory application needs very fast, reliable access to its configuration files. Any latency from an NFS will result in poor performance when the application fails to read these files. Therefore, install Artifactory on a local disk mounted directly to the host.
To use an NFS to store binaries, use the "file-system" binarystore.xml configuration with the additional "<baseDataDir>" setting.
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, 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.
Artifactory Network Ports
Artifactory uses external network ports to communicate with services outside Artifactory and internal networks to communicate with Artifactory and other JFrog Platform microservices.
External Network Ports
Artifactory uses the following external network ports by default.
Internal Network Ports
Artifactory uses the following internal network ports.
8040 and 8045
8048 and 9092
8082, 8046, 8047, 8049, and 8091
8061, and 8062
8071 and 8072
Migration is a manual process for a Windows installation. The following steps also include copying directories over and running the migration script.
Make sure to run all commands on the server with the user that runs Artifactory.
Stop the current server.
cd $ARTIFACTORY_HOME/bin ./artifactoryctl stop
Extract the contents of the compressed archive and move it into artifactory directory.
tar -xvf jfrog-artifactory-<pro|oss|cpp-ce>-<version>-linux.tar.gz mkdir jfrog mv artifactory-<pro|oss|cpp-ce>-<version> jfrog/artifactory
export ARTIFACTORY_HOME=<Path to your current Artifactory installation> export JFROG_HOME=<Full path to jfrog directory, for example: /opt/jfrog> export JF_PRODUCT_HOME=$JFROG_HOME/artifactory
$ARTIFACTORY_HOMEvariable points to your existing installation, and the
$JFROG_HOMEvariable points to the new installation.
Copy the directories from your current to the new path.
# Artifactory data mkdir -p $JFROG_HOME/artifactory/var/data/artifactory/ cp -rp $ARTIFACTORY_HOME/data/. $JFROG_HOME/artifactory/var/data/artifactory/ # Access data mkdir -p $JFROG_HOME/artifactory/var/data/access/ cp -rp $ARTIFACTORY_HOME/access/data/. $JFROG_HOME/artifactory/var/data/access/ # Replicator data # Note: If you've have never used the Artifactory Replicator # your $ARTIFACTORY_HOME/replicator/ directory will be empty mkdir -p $JFROG_HOME/artifactory/var/data/replicator/ cp -rp $ARTIFACTORY_HOME/replicator/data/. $JFROG_HOME/artifactory/var/data/replicator/ # Artifactory config mkdir -p $JFROG_HOME/artifactory/var/etc/artifactory/ cp -rp $ARTIFACTORY_HOME/etc/. $JFROG_HOME/artifactory/var/etc/artifactory/ # Access config mkdir -p $JFROG_HOME/artifactory/var/etc/access/ cp -rp $ARTIFACTORY_HOME/access/etc/. $JFROG_HOME/artifactory/var/etc/access/ # Replicator config # Note: If you have never used the Artifactory Replicator # your $ARTIFACTORY_HOME/replicator/ directory will be empty mkdir -p $JFROG_HOME/artifactory/var/etc/replicator/ cp -rp $ARTIFACTORY_HOME/replicator/etc/. $JFROG_HOME/artifactory/var/etc/replicator/ # master.key mkdir -p $JFROG_HOME/artifactory/var/etc/security/ cp -p $ARTIFACTORY_HOME/etc/security/master.key $JFROG_HOME/artifactory/var/etc/security/master.key # server.xml mkdir -p $JFROG_HOME/artifactory/var/work/old cp -p $ARTIFACTORY_HOME/tomcat/conf/server.xml $JFROG_HOME/artifactory/var/work/old/server.xml # artifactory.defaults cp -rp $ARTIFACTORY_HOME/bin/artifactory.default $JFROG_HOME/artifactory/var/work/old/artifactory.default #or, if Artifactory was installed a service cp -rp $ARTIFACTORY_HOME/etc/default $JFROG_HOME/artifactory/var/work/old/artifactory.default # External database driver, for example: mysql-connector-java-<version>.jar mkdir -p $JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib cp -rp $ARTIFACTORY_HOME/tomcat/lib/<your database driver> $JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib/<your database driver> # Remove logback.xml with old links. Please consider migrating manually anything that is customized here rm -f $JFROG_HOME/artifactory/var/etc/artifactory/logback.xml rm -f $JFROG_HOME/artifactory/var/etc/access/logback.xml # Move Artifactory logs mkdir -p $JFROG_HOME/artifactory/var/log/archived/artifactory/ cp -rp $ARTIFACTORY_HOME/logs/. $JFROG_HOME/artifactory/var/log/archived/artifactory/ # Move configuration files # Note: Run the following only when upgrading from Artifactory version 6.x to version 7.5.x and above. mkdir -p $JFROG_HOME/artifactory/var/etc/artifactory/old mkdir -p $JFROG_HOME/artifactory/var/etc/access/old mkdir -p $JFROG_HOME/artifactory/var/etc/replicator/old cp $JFROG_HOME/artifactory/var/etc/artifactory/db.properties $JFROG_HOME/artifactory/var/etc/artifactory/old/db.properties cp $JFROG_HOME/artifactory/var/etc/artifactory/ha-node.properties $JFROG_HOME/artifactory/var/etc/artifactory/old/ha-node.properties cp $JFROG_HOME/artifactory/var/etc/access/db.properties $JFROG_HOME/artifactory/var/etc/access/old/db.properties cp $JFROG_HOME/artifactory/var/etc/replicator/replicator.yaml $JFROG_HOME/artifactory/var/etc/replicator/old/replicator.yaml
Additional directories for HA
Replace any relative paths in the
$ARTIFACTORY_HOME/etc/ha-node.propertiesfile with absolute paths.
# relative path artifactory.ha.data.dir=artifactory-ha # absolute path artifactory.ha.data.dir=/var/opt/jfrog/artifactory-ha
# Artifactory backup (optional) mkdir -p $JFROG_HOME/artifactory/var/backup/artifactory/ cp -rp $ARTIFACTORY_HOME/backup/. $JFROG_HOME/artifactory/var/backup/artifactory/ # Access backup (optional) mkdir -p $JFROG_HOME/artifactory/var/backup/access/ cp -rp $ARTIFACTORY_HOME/access/data/. $JFROG_HOME/artifactory/var/backup/access/ # Replicator backup (optional) mkdir -p $JFROG_HOME/artifactory/var/backup/replicator/ cp -rp $ARTIFACTORY_HOME/replicator/data/. $JFROG_HOME/artifactory/var/backup/replicator/ # Access logs (optional) mkdir -p $JFROG_HOME/artifactory/var/log/archived/access/ cp -rp $ARTIFACTORY_HOME/access/logs/. $JFROG_HOME/artifactory/var/log/archived/access/ # Replicator logs (optional) mkdir -p $JFROG_HOME/artifactory/var/log/archived/replicator/ cp -rp $ARTIFACTORY_HOME/replicator/logs/. $JFROG_HOME/artifactory/var/log/archived/replicator/
When you upgrade Artifactory using Linux Archive, verify that the copied directories and the copied content have the right owners.
If you are using the default user:group, the owner is automatically assigned artifactory:artifactory, and you need need take any further actions (the upgrade will use these by default).
If, however, you are using a custom user:group, you need to go the Artifactory
system.yamlfile and update it with the custom user:group. You then need to make sure that the directory has the same user and group.
Run the migration script with the same privileges as you have in your current Artifactory installation.
The script copies over and translate your current configurations to the new configuration format, according to the new file system layout.
cd $JFROG_HOME/artifactory/app/bin ./migrate.sh
The migration script only migrates configuration values. Any comments added to the configuration files in the Artifactory 6.x installation are not migrated.
Check that the migration has completed successfully, by reviewing the following files.
$JFROG_HOME/artifactory/var/etc/system.yamlThis newly created file contains your current custom configurations in the new format.
If Artifactory was installed as a service in previous version, install this version also as a service.
cd $JFROG_HOME/artifactory/app/bin ./installService.sh
Otherwise, a restart of the server may lead to older version of Artifactory coming up.
Access Artifactory from your browser at:
For example, on your local machine: http://localhost:8082/ui/
Reverse Proxy Settings
If you had a reverse proxy or load balancer configured with your Artifactory 6.x, you will need to create a new reverse proxy configuration and update your reverse proxy settings.
You can generate a new configuration template by accessing the upgraded Artifactory server UI (by default http://localhost:8082/ui/), navigate to
Navigate to Administration > Artifactory > General > HTTP Settings to adjust your Reverse Proxy Settings and generate a new configuration template. See Reverse Proxy Settings.
Check Artifactory Log.
tail -f $JFROG_HOME/artifactory/var/log/console.log
Configure log rotation of the console log
console.logfile can grow quickly since all services write to it. For more information, see configure the log rotation.