Host
Ricochet Server is distributed as native .deb and .rpm packages and runs as a systemd service.
This guide covers manual installation on a single Linux server.
Supported platforms
Section titled “Supported platforms”| Distribution | Architecture | Package format |
|---|---|---|
| Debian / Ubuntu | amd64 | .deb |
| AlmaLinux / RHEL / EL | x86_64 | .rpm |
Install the package
Section titled “Install the package”Ricochet Server packages are published to object storage.
VERSION=$(curl -s https://ricochet.rs/releases.json | grep -o '"latest": *"[^"]*"' | grep -o 'v[0-9.]*')curl -fLO https://hel1.your-objectstorage.com/ricochet-server/${VERSION#v}/ricochet-server_${VERSION#v}-1_amd64.debsudo apt install ./ricochet-server_${VERSION#v}-1_amd64.debVERSION=$(curl -s https://ricochet.rs/releases.json | grep -o '"latest": *"[^"]*"' | grep -o 'v[0-9.]*')curl -fLO https://hel1.your-objectstorage.com/ricochet-server/${VERSION#v}/ricochet-server-${VERSION#v}-1.el10.x86_64.rpmsudo dnf install ./ricochet-server-${VERSION#v}-1.el10.x86_64.rpmWe also provide universal statically linked linux binaries which are available for x86_64 and aarch64. These can be used for operating systems that we do not officially support.
VERSION=$(curl -s https://ricochet.rs/releases.json | grep -o '"latest": *"[^"]*"' | grep -o 'v[0-9.]*')# For x86_64curl -fLO https://hel1.your-objectstorage.com/ricochet-server/${VERSION#v}/ricochet-${VERSION#v}-x86_64.tar.gz
# Or for aarch64# curl -fLO https://hel1.your-objectstorage.com/ricochet-server/${VERSION#v}/ricochet-${VERSION#v}-aarch64.tar.gz
# Extract and installtar -xzf ricochet-${VERSION#v}-*.tar.gzchmod +x ricochetsudo mv ricochet /usr/local/bin/The package installs the ricochet binary and a ricochet-server.service systemd unit.
Configure
Section titled “Configure”Ricochet reads its configuration from /var/lib/ricochet/ricochet-config.toml.
Create or edit this file with your deployment’s settings.
At a minimum you need to configure OIDC authentication:
[auth.oidc]issuer_url = "https://your-idp.example.com/"client_id = "your-client-id"client_secret = "your-client-secret"redirect_url = "https://your-ricochet-host.example.com/oauth/callback"Ensure appropriate permissions are set on the config file:
sudo chmod 0644 /var/lib/ricochet/ricochet-config.tomlsudo chown root:root /var/lib/ricochet/ricochet-config.tomlStart the service
Section titled “Start the service”-
Reload systemd to pick up the new unit file:
Terminal window sudo systemctl daemon-reload -
Enable and start the service:
Terminal window sudo systemctl enable --now ricochet-server.service -
Verify the service is running:
Terminal window sudo systemctl status ricochet-server.service
Ricochet Server listens on port 6188 by default.
Upgrade
Section titled “Upgrade”To upgrade to a new version, download the new package and install it over the existing one.
curl -fLO https://hel1.your-objectstorage.com/ricochet-server/${VERSION}/ricochet-server_${VERSION}-1_amd64.debsudo apt install ./ricochet-server_${VERSION}-1_amd64.debsudo systemctl restart ricochet-server.servicecurl -fLO https://hel1.your-objectstorage.com/ricochet-server/${VERSION}/ricochet-server-${VERSION}-1.el10.x86_64.rpmsudo dnf install ./ricochet-server-${VERSION}-1.el10.x86_64.rpmsudo systemctl restart ricochet-server.serviceData science interpreters
Section titled “Data science interpreters”Ricochet works without any interpreters installed. However, if you plan to deploy R, Python, or Julia content, you must install the respective interpreters on the host machine. Container and Kubernetes deployments bundle their own interpreters and do not require this step.
Vendored dependencies
Section titled “Vendored dependencies”The .deb and .rpm packages bundle the following tools so that ricochet can manage language environments without relying on system-installed versions:
| Tool | Vendor path | Purpose |
|---|---|---|
| uv | RICOCHET_HOME/vendor/py/uv | Python package management, running Python content, and Python version discovery |
| juliaup | RICOCHET_HOME/vendor/jl/juliaup | Managing Julia environments and Julia version discovery |
| renv | RICOCHET_HOME/vendor/r/renv | R package environment restoration |
When using the systemd service, RICOCHET_HOME defaults to /var/lib/ricochet/data.
See the storage configuration for more details.
Python
Section titled “Python”If deploying Python-based content, Ricochet will discover Python installations on the host. We encourage installing Python via uv for the best experience managing multiple Python versions.
uv python install <version>We recommend using rig to install R:
rig add <version>You can also install R from CRAN or your distribution’s package manager.
However, if you want to make use of multiple R versions, rig is the easiest and most flexible option.
If deploying Julia-based content, Ricochet uses juliaup to discover installed Julia channels.
Julia must be installed via juliaup.
Only juliaup-managed Julia installations are supported.
juliaup add <version>Ansible
Section titled “Ansible”If you manage your infrastructure with Ansible, the devxy.data_science_core collection provides roles for installing R, Python, and their system dependencies:
ansible-galaxy collection install devxy.data_science_coreroles: - role: devxy.data_science_core.r - role: devxy.data_science_core.pythonSystem libraries
Section titled “System libraries”The interpreters may require additional system libraries for compiling packages at runtime.
Here’s a baseline of system libraries which we recommend installing:
sudo apt install \ libgit2-dev libxml2-dev libharfbuzz-dev libfreetype-dev libfontconfig-dev \ libgdal-dev libproj-dev libgeos-dev libjq-dev libmagick++-dev \ libnetcdf-dev libfribidi-dev jags libglpk-dev libpng-dev \ libsecret-1-dev poppler-utils libreadline-dev unixodbc-dev \ default-jdk-headless libicu-dev libudunits2-dev libsodium-dev \ zlib1g-dev libglu1-mesa-dev libcairo2-dev git freetds-common \ libv8-dev librsvg2-dev libsqlite3-dev libpq-dev libgmp3-dev libmpfr-devsudo dnf install \ libgit2-devel libxml2-devel harfbuzz-devel freetype-devel fontconfig-devel \ gdal-devel proj-devel geos-devel jq-devel ImageMagick-c++-devel \ netcdf-devel fribidi-devel glpk-devel libpng-devel \ libsecret-devel poppler-utils readline-devel unixODBC-devel \ java-21-openjdk-headless libicu-devel udunits2-devel libsodium-devel \ zlib-devel mesa-libGLU-devel cairo-devel git freetds \ librsvg2-devel sqlite-devel libpq-devel gmp-devel mpfr-develUninstall
Section titled “Uninstall”sudo systemctl stop ricochet-server.servicesudo systemctl disable ricochet-server.servicesudo apt purge ricochet-serversudo systemctl stop ricochet-server.servicesudo systemctl disable ricochet-server.servicesudo dnf remove ricochet-serverThe configuration file at /var/lib/ricochet/ricochet-config.toml is not removed automatically.
Delete it manually if it is no longer needed.