Install on Ubuntu or Debian Linux
This page describes the recommended instructions for installing the latest stable version of rippled
on Ubuntu Linux 18.04 or higher or Debian 10 or higher, using the apt
utility.
These instructions install a binary that has been compiled by Ripple.
Prerequisites
Before you install rippled
, you must meet the System Requirements.
Installation Steps
Update repositories:
sudo apt -y update
Install utilities:
sudo apt -y install apt-transport-https ca-certificates wget gnupg
Add Ripple's package-signing GPG key to your list of trusted keys:
sudo install -m 0755 -d /etc/apt/keyrings && \ wget -qO- https://repos.ripple.com/repos/api/gpg/key/public | \ sudo gpg --dearmor -o /etc/apt/keyrings/ripple.gpg
Check the fingerprint of the newly-added key:
gpg --show-keys /etc/apt/keyrings/ripple.gpg
The output should include an entry for Ripple such as the following:
pub rsa3072 2019-02-14 [SC] [expires: 2026-02-17] C0010EC205B35A3310DC90DE395F97FFCCAFD9A2 uid TechOps Team at Ripple <techops+rippled@ripple.com> sub rsa3072 2019-02-14 [E] [expires: 2026-02-17]
In particular, make sure that the fingerprint matches. (In the above example, the fingerprint is on the second line, starting with
C001
.)Add the appropriate Ripple repository for your operating system version:
echo "deb [signed-by=/etc/apt/keyrings/ripple.gpg] https://repos.ripple.com/repos/rippled-deb focal stable" | \ sudo tee -a /etc/apt/sources.list.d/ripple.list
The above example is appropriate for Ubuntu 20.04 Focal Fossa. For other operating systems, replace the word
focal
with one of the following:buster
for Debian 10 Busterbullseye
for Debian 11 Bullseyebookworm
for Debian 12 Bookwormbionic
for Ubuntu 18.04 Bionic Beaverjammy
for Ubuntu 22.04 Jammy Jellyfishnoble
for Ubuntu 24.04 Noble Numbat
If you want access to development or pre-release versions of
rippled
, use one of the following instead ofstable
:unstable
- Pre-release builds (release
branch)nightly
- Experimental/development builds (develop
branch)
WarningUnstable and nightly builds may be broken at any time. Do not use these builds for production servers.Update the package index to include Ripple's repo and install
rippled
.sudo apt -y update && sudo apt -y install rippled
Check the status of the
rippled
service:systemctl status rippled.service
The
rippled
service should start automatically. If not, you can start it manually:sudo systemctl start rippled.service
Optional: allow
rippled
to bind to privileged ports.This allows you to serve incoming API requests on port 80 or 443. (If you want to do so, you must also update the config file's port settings.)
sudo setcap 'cap_net_bind_service=+ep' /opt/ripple/bin/rippled
Optional: configure core dumps
By default Ubuntu is not configured to produce core files useful for debugging crashes. First run:
ulimit -c unlimited
Now run
sudo systemctl edit rippled
. The default editor should open and add[Service] LimitCORE=infinity
This creates the file
/etc/systemd/system/rippled.service.d/override.conf
and configures the OS to save core dumps, without changing the service file provided by therippled
package. If your server crashes, you can find the core dump in/var/lib/apport/coredump/
. To load the core dump for inspection, use a command such as the following:gdb /opt/ripple/bin/rippled /var/lib/apport/coredump/core
NoteTo debug a core file this way, you must have therippled-dbgsym
package installed, and you need permission to read files in the core dump directory.
Next Steps
It can take several minutes to sync with the rest of the XRP Ledger network, during which time the server outputs various warnings. For information about log messages, see Understanding Log Messages.
You can use the rippled
commandline interface to see if your server is synced with the network:
rippled server_info
If the server_state
in the response is full
or proposing
, then your server is fully synced to the network. Otherwise, you may need to wait longer. Fresh servers usually sync within 15 minutes; servers that already have ledger history stored can take longer.
After your server has synchronized with the rest of the network, you have a fully functional XRP Ledger peer-to-peer server that you can use to submit transactions or get API access to the XRP Ledger. See Client Libraries or HTTP / WebSocket APIs for different ways to communicate with the server.
If you use the XRP Ledger for your business or you want to contribute to the stability of the network, you should run one server as a validator. For information about validating servers and why you might want to run one, see Run rippled as a Validator.
Having trouble getting your server started? See rippled Server Won't Start.
Additional Configuration
rippled
should connect to the XRP Ledger with the default configuration. However, you can change your settings by editing the rippled.cfg
file. For recommendations about configuration settings, see Capacity Planning.
The recommended installation uses the config file /etc/opt/ripple/rippled.cfg
by default. Other places you can put a config file include $HOME/.config/ripple/rippled.cfg
(where $HOME
is the home directory of the user running rippled
), $HOME/.local/ripple/rippled.cfg
, or the current working directory from where you start rippled
.
See the rippled
GitHub repository for a description of all configuration options.
You must restart rippled
for any configuration changes to take effect.
If you change the [debug_logfile]
or [database_path]
sections, you may need to grant ownership of the new configured path to the user you run rippled
as.
Updates
You must update rippled
regularly to remain synced with the rest of the XRP Ledger network. You can subscribe to the rippled Google Group to receive notifications of new rippled
releases.
The rippled
package includes a script you can use to enable automatic updates on Linux. On other platforms, you must update manually.