Updating a Docker Node installation

22nd July 2021Radix Node 1.0-beta.40 released

Use the RadixNode CLI to update your node or install a new node from scratch – or refer to the update instructions for Docker or systemd install methods.

Introduction

These instructions will show you how to upgrade Radix nodes installed as docker instances. The instructions apply to:

  • Full nodes

  • Validator nodes

  • Archive nodes

Please read the instructions all the way through first, before applying the changes.

1. Prepare to update

First, if you haven’t already done so, ensure that you have backed up your node-keystore.ks key file. This key file contains the private key that determines your node’s unique address and (if you are running a validator node) validator ID. If anything goes wrong in the update process, if you have your key file, you can always reinstall the node from scratch and use it to recover access to your node.

Next, you may want to consider using a backup node to perform a switch to the updated node with minimal interruption (especially if running a validator node) – or to provide a quick recovery if something goes wrong during the update. See our recommendations for Maintaining Uptime for more.

2. Make a Copy of your Docker Compose script

If you are running a full node or a validator node, then the file is radix-fullnode-compose.yml. The compose script for an archive node is radix-archivenode-compose.yml. Copy the file to another directory in case you need to restore the node later one.

3. Shutdown Docker

If you’re running a full node or a validator node, then shut down your instance using the following command:

docker-compose -f radix-fullnode-compose.yml down

If you’re running an archive node, then use radix-archivenode-compose.yml script in the shutdown command:

docker-compose -f radix-archivenode-compose.yml down

4. Download the latest Docker Compose Script

Use one of the wget commands, shown below, to retrieve the latest version of the docker compose script.

  • full node

  • archive node

wget https://raw.githubusercontent.com/radixdlt/node-runner/1.0-beta.40/node-runner-cli/release_ymls/radix-fullnode-compose.yml
wget https://raw.githubusercontent.com/radixdlt/node-runner/1.0-beta.40/node-runner-cli/release_ymls/radix-archivenode-compose.yml

5. Restart Docker

You can restart Docker immediately, and it will build your new node service with the compose script you have just downloaded.

If you’re running a full node or a validator node, then execute the restart command with the radix-fullnode-compose.yml script:

RADIXDLT_NETWORK_NODE=ip_of_node_closest_to_you RADIXDLT_NODE_KEY_PASSWORD=node-password docker-compose -f radix-fullnode-compose.yml up -d

As always, use the radix-archivenode-compose.yml script in the terminal command if you’re running an archive node.

RADIXDLT_NETWORK_NODE=ip_of_node_closest_to_you RADIXDLT_NODE_KEY_PASSWORD=node-password docker-compose -f radix-archivenode-compose.yml up -d

6. Ensure that the node has been upgraded

You can check the version of the node software by sending an information request using curl:

curl -k -u admin:nginx-password "https://localhost/version"

The response is a json string that carries the version number as its payload.

{"version":"1.0-beta.40"}