Xray Installation
Install Xray single-node or HA using Helm, Docker Compose, RPM, Debian, or Linux archive with PostgreSQL and RabbitMQ.
Subscription Information
This feature is supported on the Self-Hosted platform, with Pro X, Enterprise X, and Enterprise+ licenses.
You can install and configure JFrog Xray as a single node or in high availability. For more information on high availability, see high availability.
Before installing Xray 3.x, you must first install JFrog Artifactory 7.x.
Note
Use a dedicated server with no other software running to alleviate performance bottlenecks, avoid port conflicts, and avoid setting uncommon configurations.
Warning
If you install Xray on the same server as Artifactory, you might have port conflicts and performance issues. Artifactory and Xray use port 8082 for communication with the external network. In addition, the ports 8082, 8046, 8047, and 8049 are used by both Xray and Artifactory for the Router microservice.
Note
JFrog Xray now supports RabbitMQ Quorum Queues, an optional parameter configurable in system.yaml. This change is due to RabbitMQ deprecating Classic Queue mirroring in version 4.x. As a result, JFrog will also deprecate Classic Queue support and transition to Quorum Queues. We recommend enabling Quorum Queues in Xray, as JFrog intends to fully transition to RabbitMQ 4.x and discontinue Classic Queue support in future versions.
Note
From Xray version 3.124.x, JFrog has added support for RabbitMQ Quorum Queues, as RabbitMQ has discontinued support for Classic Queue mirroring, which is deprecated in RabbitMQ 4.x. With this, JFrog will be deprecating Classic Queue support in upcoming releases.
A two-node cluster with RabbitMQ Quorum Queues will not be fault-tolerant, as Quorum Queues require a minimum of 3 nodes for HA. For more information, refer to the RabbitMQ Quorum Queues documentation here.
With the Xray 3.124.x installer, optional support for RabbitMQ 4.x has been introduced, including a variable to switch to RabbitMQ 4.x during installation. The $
{JF\_PRODUCT\_HOME}/app/bin/xray.default file has been updated with the JF_PRODUCT_RABBITMQ_HOME variable to support RabbitMQ 4.x and Quorum Queues.
Note
Migrate to Quorum Queues while still using RabbitMQ 3.x before upgrading to RabbitMQ 4.x. RabbitMQ 4.x does not support Classic Queue mirroring, and switching directly to RabbitMQ 4.x without prior migration to Quorum Queues will result in data loss and require re-indexing repositories.
To use RabbitMQ 4.x if you are currently running RabbitMQ 3.x, you must update $
{JF\_PRODUCT\_HOME}/app/bin/xray.default. Set the JF\_PRODUCT\_RABBITMQ\_HOME variable key to ${JF\_PRODUCT\_HOME}/app/third-party/rabbitmq4 in this file before starting Xray.For Xray installations with three or more nodes, the recommended approach is to separate the RabbitMQ and Xray clusters, installing them independently. More information on this can be found here.
To learn about the JFrog Platform Deployment, see System Architecture.
Before proceeding, see System Requirements for information on supported platforms, supported browsers, and other requirements.
Admin Permissions for Installation
We recommend that you run the installation as a root user or provide sudo access to a non-root user.
Admin permissions are required on the installation machine in the following cases.
- Native installer - always requires admin permissions
- Archive installer - requires admin permissions only during installation
- Docker installer - does not require admin permissions
Installation Steps
The installation procedure involves the following main steps.
-
Download Xray as per your required installer type (Docker Compose, RPM, Debian).
-
Install Xray either as a single node installation, or high availability cluster.
- Install third party dependencies (PostgreSQL database, included in the archive)
- Install Xray
-
Configure Xray basic settings.
- Connect to an Artifactory instance (requires a
joinKeyand ajfrogUrlin the XRaysystem.yamlfile). - Optional: Configure the PostgreSQL database connection details if you have set Postgres as an external database.
- Connect to an Artifactory instance (requires a
-
Start the Service using the start scripts or OS service management.
-
Check the Service Log to check the status of the service.
Default Home Directory / $JFROG_HOME
The default home directory is defined according to the installation type. For more information, see System Directories.
$JFROG_HOMErepresents the JFrog root directory containing the deployed product.
Xray Single Node Installation
Xray Single Node Installation
Install JFrog Xray on a single node using RPM, Debian, Linux archive, or Docker Compose. Requires a running JFrog Artifactory instance and PostgreSQL database.
Xray Single Node Helm Installation
Complete guide for installing Xray single node using Helm charts with step-by-step instructions and configuration options.
Xray Single Node OpenShift Installation
Install JFrog Xray on OpenShift (available from version 3.80.9). Review system requirements before proceeding with installation.
Xray Single Node Interactive Script Installation
The installer script works with all supported upgrade methods including Linux RPM, Archive, Debian, and Docker Compose.
Xray Single Node Manual Docker Compose Installation
Manually install JFrog Xray on a single node using Docker Compose, configuring the compose file directly.
Xray Single Node Manual RPM Installation
The RPM installation bundles Xray and all its dependencies as native RPM packages installed separately.
Xray Single Node Manual Debian Installation
Install JFrog Xray as a single node on Debian by downloading the package, configuring system.yaml, and starting the Xray service.
Xray Single Node Linux Archive Installation
Install JFrog Xray as a single node using the Linux archive, installing prerequisites independently before starting the service.
Xray FIPS Installation
Install JFrog Xray with FIPS 140-2 compliance enabled on RPM-based Linux systems using the Linux archive installer with FIPS mode activated.
Xray HA Installation
Xray HA Installation
Set up a JFrog Xray high-availability cluster with two or more nodes using Helm, Docker Compose, or Linux archive installation methods.
Xray HA Helm Installation
Install JFrog Xray in high-availability mode on Kubernetes using Helm, configuring a multi-node cluster with shared PostgreSQL and RabbitMQ services.
Xray HA OpenShift Installation
Install JFrog Xray HA on OpenShift (available from version 3.80.9). Review system requirements before proceeding.
Xray HA Docker Compose Installation
Install JFrog Xray in high-availability mode using Docker Compose by deploying multiple Xray nodes sharing external PostgreSQL and RabbitMQ.
Xray HA Linux Archive / RPM/ Debian Installation
Install JFrog Xray in high-availability mode on Linux using the archive, RPM, or Debian package with additional node configuration.
Quorum Queue Enablement for Xray and Platform Helm Charts
Enable RabbitMQ Quorum Queues for Xray and Platform Helm charts, as RabbitMQ has deprecated Classic Queue mirroring in version 4.x.
Database and Messaging
PostgreSQL for Xray
JFrog Xray requires PostgreSQL as its database. Configure a dedicated PostgreSQL instance and point Xray to it using system.yaml settings.
RabbitMQ (Split) for Xray
Install Xray and RabbitMQ on separate nodes and connect multiple Xray nodes to a RabbitMQ cluster to achieve high availability.
Updated 25 days ago
