Valkey Installation with Interactive Script

Install JFrog Valkey via Docker Compose, RPM, Debian, Linux archive or Helm

Installation types:

  • Docker compose
  • RPM or Debian
  • Linux Archive
  • Helm (Kubernetes)
  • Helm (OpenShift)

Supported from:

  • Xray version 3.131.x and above
📘

Note

JFrog Xray, JFrog Catalog and JFrog Valkey are packaged in a single tarball for RPM/Deb, Linux, and Docker compose installers. You will find the Valkey folder for the latest release version when you extract the Xray tarball. You can run valkey either as a root user or as a non-root user.

Complete the following steps to install the product.

RPM / Deb / Linux Archive

  1. Extract the contents of the compressed Xray archive and go to the valkey folder.
cd jfrog-valkey-<linux/rpm/deb
  1. Rename jfrog-valkey-<linux/rpm/deb> to valkey
mv jfrog-valkey-<linux/rpm/deb> valkey/
  1. Run the Valkey Installation script: You will be prompted to create a password for Valkey for a fresh installation.
cd valkey/valkey-<OS_FLAVOUR>/app/bin
./install-valkey-service.sh
📘

Note

If you are not running as root, you will be prompted to grant user permissions.

  1. Start the Valkey service:

    For root user:

    systemctl start valkey

    For non-root user:

    systemctl --user start valkey

📘

Note

  • For removing Valkey in RPM/ Deb/ Linux Archive installers, navigate to valkey/app/bin and run ./uninstall-valkey-service.sh. This will remove everything but the valkey configuration file.
  • The Valkey service includes automatic log rotation to manage log file sizes and prevent disk space issues. Logs are by default rotated when they reach 25MB, keeping up to 10 rotated files with compression. Old logs are moved to an archived directory valkey/var/logs/archived with timestamped filenames

Docker compose

  1. Extract the contents of the compressed Xray archive and go to the catalog folder.
cd jfrog-valkey-compose
  1. Run the valkey Installation script
📘

Note: Valkey can be installed either with a custom password or the default password.

./config.sh
📘

Note: The .env file is used by docker-compose and is updated during installations and upgrades. Update the .env file in the jfrog-valkey-compose dir to override the image registry if needed.

  1. Start the valkey service:
docker-compose -p valkey -f docker-compose-valkey.yaml up -d

Helm (Kubernetes)

  1. Add the charts.jfrog.io to your Helm client.
helm repo add jfrog https://charts.jfrog.io
  1. Update the repository.
helm repo update

  1. Installation requires catalog, cache and valkey. The following sample shows how to provide these in the values.yaml file.
catalog:
  enabled: true
  cache:
    enabled: true
valkey:
  enabled: true

  1. Run the Helm install command to proceed with the installation. The following command shows how to pass the required values through a values.yaml file.
helm upgrade --install xray jfrog/xray --namespace xray -f values.yaml

  1. To access the logs, find the name of the valkey pod using the following command:
kubectl --namespace <your namespace> get pods

  1. To get the container logs, run the following command:
kubectl --namespace <your namespace> logs -f <name of the pod>

Helm (OpenShift)

  1. Add the charts.jfrog.io to your Helm client.
helm repo add jfrog https://charts.jfrog.io

  1. Update the repository.
helm repo update

  1. Installation requires catalog, cache and valkey. The following sample shows how to provide these in the values.yaml file in xray installation.
catalog:
  enabled: true
  containerSecurityContext:
    enabled: false
  podSecurityContext:
    enabled: false
  cache:
    enabled: true
valkey:
  enabled: true

  1. Run the Helm install command to proceed with the installation. The following command shows how to pass the required values through a values.yaml file.
helm upgrade --install xray jfrog/xray --namespace xray -f values.yaml

  1. To access the logs, find the name of the valkey pod using the following command:
kubectl --namespace <your namespace> get pods

  1. To get the container logs, run the following command:
kubectl --namespace <your namespace> logs -f <name of the pod>