Xray Single Node Manual Docker Compose Upgrade

JFrog Installation & Setup Documentation

Content Type
Installation & Setup
ft:sourceType
Paligo

Upgrading to Xray 3.70.0 or later from an Xray version prior to 3.70.0

If you are upgrading to Xray 3.70.0 or later from an Xray version prior to 3.70.0, your installation contains RabbitMQ 3.8.x. Feature flags in RabbitMQ have to be enabled before you can upgrade, since Xray 3.70.0 and later contains RabbitMQ 3.11.x and later.

Before you proceed with the upgrade, go to RabbitMQ Upgrade to version 3.11.x and set feature flags in RabbitMQ.

  1. Download Xray (Docker Compose).

  2. Stop the current server.

    Stop Xray

    docker-compose -p xray down
  3. Extract the contents of the compressed archive and go to the extracted folder.

    Untar

    tar -xvf jfrog-xray-<version>-compose.tar.gz

    .env file included within the Docker-Compose archive

    This .env file is used by docker-compose and is updated during installations and upgrades.

    Notice that some operating systems do not display dot files by default. If you've made any changes to the file, remember to backup before an upgrade.

  4. Copy the docker-compose template from the templates folder to the extracted folder. Rename it as docker-compose.yaml. Ensure that you use the same template as you did during the installation.

    Docker for Mac

    When you use Docker Compose in Mac, /etc/localtime might not work as expected since it might not be a shared location in the docker-for-mac settings.

    You can remove the following line from the selected template file to avoid installation issues.

    - /etc/localtime:/etc/localtime:ro

    Requirement

    Template

    Xray

    docker-compose.yaml

    RabbitMQ

    docker-compose-rabbitmq.yaml

    PostgreSQL

    docker-compose-postgres.yaml

  5. Update the .env file and ensure that you use the same values when you did the installation.

    ## The Installation directory for Xray. If not entered, the script will prompt you for this input. Default [$HOME/.jfrog/xray]
    ROOT_DATA_DIR=
    
    # Host ID. Other nodes in the cluster will use this ID to identify this node
    HOST_ID=
    
    # ID of the active node. Please leave the value as "None" for active nodes. (shared.rabbitMq.active.node.name).  
    JF_SHARED_RABBITMQ_ACTIVE_NODE_NAME=None 
    
    # IP of the active node. (shared.rabbitMq.active.node.ip)
    JF_SHARED_RABBITMQ_ACTIVE_NODE_IP=127.0.0.1
    
    # Bind IP for Internal ports of Third party applications
    JF_THIRD_PARTY_BIND_IP=127.0.0.1
  6. Start Xray and PostgreSQL using docker-compose commands.

    ## RabbitMQ needs to be started before starting other services
    docker-compose -p xray-rabbitmq -f docker-compose-rabbitmq.yaml up -d
      
    ## From Xray 3.8.x, PostgreSQL needs to be started before starting the other services.
    docker-compose -p xray-postgres -f docker-compose-postgres.yaml up -d
     
    docker-compose -p xray up -d
     
    ## Check whether service is up
    docker-compose -p xray ps
  7. Access Xray from your browser at:http://<jfrogUrl>/ui/, go theDashboard tab in theApplicationmodule in the UI.

  8. Check Xray Log.

    docker ps
    docker-compose -p xray logs

    Configure log rotation of the console log

    The console.log file can grow quickly since all services write to it. For more information, see configure the log rotation.Configuring Log Rotation for Tomcat

RabbitMQ Upgrade to version 3.11.x

Xray version 3.70.0 and later includes RabbitMQ version 3.11.x later. An upgrade to Rabbit MQ 3.11.x requires feature flags to be enabled. For more information, refer to Required Feature Flags in RabbitMQ 3.11.0.

Enable Feature Flags in Docker Compose

Run the following command inside the RabbitMQ container.

rabbitmqctl enable_feature_flag all