Install Artifactory on RPM

Install Artifactory on RPM-based Linux using YUM or DNF for single-node and HA deployments.

Installing Artifactory on RPM-based systems, for a single-node or High Availability (HA) setup, is a native installation: you install Artifactory directly with the operating system's package management tools, YUM or DNF.

The steps below cover single-node and HA installations of JFrog Artifactory on an RPM system.

Prerequisites

Complete the common prerequisites before you begin. In summary:

Install Artifactory RPM Package

Run these steps with sudo privileges or as the root user, because they change system files and install packages.

These steps cover both single-node and HA installations.

  1. Set JFROG_HOME Variable

    For RPM-based systems, Artifactory installs and stores its data by default in /opt/jfrog. To refer to this path in your terminal, run the following command:

    export JFROG_HOME=/opt/jfrog

    For more information, see JFrog Product Directory Structure.

  2. Configure JFrog RPM Repository and Install Artifactory

    This is the recommended method for installing Artifactory, as it simplifies updates.

    1. Download JFrog Repository File:

      wget https://releases.jfrog.io/artifactory/artifactory-pro-rpms/artifactory-pro-rpms.repo -O jfrog-artifactory-pro-rpms.repo
    2. Move Repository File:

      sudo mv jfrog-artifactory-pro-rpms.repo /etc/yum.repos.d/
    3. Update YUM/DNF Cache and Install Artifactory:

      Update your package list and install Artifactory. Replace 7.161.15 with your desired Artifactory version.

      sudo yum install jfrog-artifactory-pro-7.161.15

      On newer Fedora or CentOS/RHEL versions, you might use the following command, instead of yum:

      sudo dnf install jfrog-artifactory-pro-7.161.15
  3. Use .rpm Package to Download and Install Artifactory (Optional)

    This method allows you to download and install a specific .rpm package directly.

    1. Download Artifactory RPM Package:

      Download the specific Artifactory RPM package you wish to install. To download a specific version, replace [RELEASE] with the exact version number (for example, 7.161.15) in the command below:

      # Example for Artifactory Pro (replace with your desired version)
      curl -g -L -O -J 'https://releases.jfrog.io/artifactory/artifactory-pro-rpms/jfrog-artifactory-pro/jfrog-artifactory-pro-[RELEASE].rpm'
      
      # For example, to download Artifactory Pro 7.161.15:
      curl -g -L -O -J 'https://releases.jfrog.io/artifactory/artifactory-pro-rpms/jfrog-artifactory-pro/jfrog-artifactory-pro-7.161.15.rpm'
    2. Install .rpm Package:

      Navigate to the directory where you downloaded the .rpm package and install it using yum with root user privileges. Remember to include ./ for local files.

      # Example for Artifactory Pro
      sudo yum install -y ./jfrog-artifactory-<pro|oss|cpp-ce>-<VERSION>.rpm
      
      # For example, to install Artifactory Pro 7.161.15
      sudo yum install -y ./jfrog-artifactory-pro-7.161.15.rpm
  4. Set up Artifactory Database

    Artifactory requires an external database for production. JFrog highly recommends using PostgreSQL for all products in the JFrog Platform, although Artifactory supports additional databases. For more information, see Database Configuration.

    1. Configure Artifactory to Use PostgreSQL:

      On each Artifactory node, edit $JFROG_HOME/artifactory/var/etc/system.yaml to point Artifactory to your external database.

      shared:
        database:
          type: postgresql
          driver: org.postgresql.Driver
          url: jdbc:postgresql://<DB_SERVER_IP_OR_HOSTNAME>:5432/artifactory_db
          username: artifactory_user
          password: your_secure_password

      The database configuration in system.yaml must be identical on all Artifactory nodes, and all nodes must have reliable network access to the single shared external database instance.

    2. Configure Other Supported Databases (Optional):

      To use databases other than PostgreSQL, set shared.database.allowNonPostgresql to true in your system.yaml and configure the database details. The following is an example for MySQL:

      shared:
        database:
          allowNonPostgresql: true
          type: mysql
          driver: com.mysql.jdbc.Driver
          url: jdbc:mysql://<your db url, for example: localhost:3306>/artdb?characterEncoding=UTF-8&elideSetAutoCommits=true&useSSL=false
          username: artifactory
          password: password

    For more information about creating and configuring databases, see Set up Database.

  5. Set up Supported Filestores

    The filestore is where Artifactory physically stores the binaries.

    • Single-Node: A local filesystem is the default, but externalizing it (for example, to a dedicated volume) is recommended for easier management and potential migration.
    • High Availability (HA): A shared filestore is mandatory. This can be NFS, S3, Azure Blob Storage, Google Cloud Storage, or another supported object storage solution. All Artifactory nodes in the cluster must have unified and reliable network access to this single shared filestore.

    For more information about configuring filestores, see Set up Filestore.

  6. Start the First Artifactory Node

    For Single-Node and HA: Start the first Artifactory service. This initializes the database and, for HA setups, generates the master.key.

    sudo systemctl start artifactory.service
  7. Initial HA Setup and Licensing

    After the first node is running, complete the initial setup and apply licenses. For HA installations, you must enable HA on the first node before you can add licenses for additional nodes.

    1. Access the Artifactory UI: Open your browser and go to http://<SERVER_HOSTNAME>:8082/, replacing <SERVER_HOSTNAME> with your server's actual IP address or host name.

    2. Complete the Onboarding Wizard:

      • Change Default Admin Password: The default credentials are admin/password. Change this immediately.
      • Configure Base URL: Configure the Base URL.
      • Apply Your First License: Apply the license key for the first Artifactory node.
    3. Enable HA on the First Node (HA only): Edit $JFROG_HOME/artifactory/var/etc/system.yaml on the first node and add the HA configuration:

      shared:
        node:
          haEnabled: true
          taskAffinity: any

      Restart the first node for the changes to take effect:

      sudo systemctl restart artifactory.service
    4. Apply Remaining Cluster Licenses (HA only): After HA is enabled and the first node has restarted, navigate to Administration > Licenses in the Artifactory UI and add the license keys for all remaining nodes in your cluster.

⚠️

Warning

If you are setting up an HA cluster, apply licenses for all nodes through the first node's UI before starting any additional nodes. If you start new nodes before applying their licenses, the front-end microservices may fail to start with the following error message: [jfrt] [WARN] ... - License is not installed.

  1. Configure and Start Remaining HA Nodes

    Once all licenses are applied and the first node is fully operational with HA enabled, configure and start the other nodes.

    1. Configure system.yaml on Remaining Nodes

      Edit $JFROG_HOME/artifactory/var/etc/system.yaml on each remaining node.

      • In the node section, set haEnabled to true.
      • Setting taskAffinity to any lets all nodes in the HA cluster act as primary nodes.
      shared:
        node:
          haEnabled: true
          taskAffinity: any
    2. Copy master.key to Other Nodes:

      Copy the master.key file from $JFROG_HOME/artifactory/var/etc/security/ of the first node to the identical path on all other nodes.

    3. Ensure the database section (as configured in Step 4) is also present and identical on all nodes.

    4. Start Remaining Nodes for HA:

      Once the masterKey is synchronized across all nodes, start the Artifactory service on the remaining nodes:

      sudo systemctl start artifactory.service
  2. Monitor Artifactory

    To check the Artifactory status, run the following command:

    sudo systemctl status artifactory.service
  3. Access Artifactory UI

    After you start a new Artifactory node, you can access its UI through one of the following methods:

    Direct Access:

    • Open your browser and navigate to http://<ARTIFACTORY_NODE_IP>:8082/.
    • You must do this for each newly started Artifactory node.

    Load Balancer Access:

    • The load balancer directs traffic to http://<ARTIFACTORY_NODE_IP>:8082/ on each of your HA nodes.
    • Configure your load balancer to point to the IP addresses of all your Artifactory nodes. When you access the load balancer's URL, it distributes your requests across the nodes in the cluster.

Related Topics

Frequently Asked Questions

This section provides answers to frequently asked questions about installing Artifactory on RPM-based systems.

plusFAQs
Q: Where does Artifactory install on an RPM-based system?

A: By default, Artifactory installs and stores its data in /opt/jfrog. Run export JFROG_HOME=/opt/jfrog to refer to this path in your terminal. For more information, see JFrog Product Directory Structure.

Q: Should I install from the JFrog RPM repository or from a downloaded .rpm file?

A: Use the JFrog RPM repository. It is the recommended method because it simplifies updates. Installing a downloaded .rpm file is optional and lets you install a specific package directly with sudo yum install -y ./jfrog-artifactory-<pro|oss|cpp-ce>-<VERSION>.rpm. Include ./ before the file name for local files.

Q: Do I use yum or dnf to install Artifactory?

A: The procedure uses sudo yum install jfrog-artifactory-pro-<VERSION> after you move the JFrog repository file to /etc/yum.repos.d/. On newer Fedora or CentOS/RHEL versions, you might use sudo dnf install jfrog-artifactory-pro-<VERSION> instead of yum.

Q: How do I install a specific Artifactory version on RPM?

A: Replace the version in the package name with the version you want, for example sudo yum install jfrog-artifactory-pro-7.161.15. To install from a downloaded package, replace [RELEASE] in the download URL with the exact version number.


Did this page help you?