> For the complete documentation index, see [llms.txt](https://docs.radix-staking.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.radix-staking.com/install-and-configure-the-radix-validator-software/install-radix-node.md).

# Install the Radix Node

## Introduction

This section of the guide will walk you through the steps to complete a Docker versioned install of the Radix Node Runner package. Alternatively, Radix also provide the instructions for a Systemd install. The original installation instructions for both can be found here;

{% embed url="<https://docs.radixdlt.com/main/index.html>" %}

## Pre-requisites

Port 30000/tcp opened for gossip

```
sudo ufw allow 30000/tcp
```

Port 443/tcp opened for NGINX

```
sudo ufw allow 443/tcp
```

{% hint style="warning" %}
The CLI has been developed with Ubuntu 20.04 and is not compatible with Windows
{% endhint %}

## Install the CLI and then install the Docker Node version using the CLI

Radix have developed a CLI tool that facilitates an easier method for installing the package and for later querying the node. We will cover the querying elements in a later section.

Make sure all your system packages are up-to-date.

```
sudo apt update -y
```

ensure **wget** is installed

```
sudo apt install wget
```

### Download the CLI package

Go to the URL <https://github.com/radixdlt/node-runner/releases> and look for the entry with the **Latest release** marker and copy the link to the latest release.

```
wget -O radixnode https://github.com/radixdlt/node-runner/releases/download/1.0.4/radixnode-ubuntu-20.04
```

&#x20;Set the permissions on the script to executable.

```
sudo chmod +x radixnode
```

&#x20;move it to the `/usr/local/bin/` directory

```
sudo mv radixnode /usr/local/bin
```

### Install Docker&#x20;

```
radixnode docker configure
```

log out of your ssh session and back in again

```
Exit ssh login and relogin back for user addition to group "docker" to take effect
```

### Configure NGINX

```
radixnode auth set-admin-password --setupmode DOCKER
```

create and enter a strong NGINX `admin` password

set the NGINX password environment variable

```
echo 'export NGINX_ADMIN_PASSWORD="nginx-password"' >> ~/.bashrc
```

add it to your session

```
source ~/.bashrc
```

do the same for a NGINX `superadmin` password

```
radixnode auth set-superadmin-password --setupmode DOCKER
```

set the NGINX superadmin environment variable

```
echo 'export NGINX_SUPERADMIN_PASSWORD="nginx-password"' >> ~/.bashrc
```

add it to your session

```
source ~/.bashrc
```

### Install and start the Radix Docker node

If you are building a validator node the enter a switch for `-n fullnode`**.** Alternatively you would enter `-n archivenode` for a non-validating archive node.

```
radixnode docker setup  \
     -n fullnode \
     -t radix://tn1qgtjz4432e7ghdfsdc6ssu4v63rwxk2g84e4yedadeasfsfaw3995l9gl6l@52.215.119.169
```

the second `-t` switch is for the seed node that you use to connect to the network. You would normally choose a node closest to your hosting region.

| <p></p><p>Asia Pacific (south-east)</p>                                                 |
| --------------------------------------------------------------------------------------- |
| <radix://tn1qdg87mk4gr8dlmfv82y9cqleqkcjm0fxlxe8vhcxvskd3k90jcmgk4ewsmw@13.210.91.116>  |
| <radix://tn1qfzy56n7wsspqjn8kal8n4ls9rs6lth3x6fzqhhdgqa7emwqz9w8j0xp4e3@3.106.19.89>    |
| <radix://tn1qt86e6vjvlcvmhgcgeu4szkmd70kg54g0j2fef9ttpt738xp0jjlv693c92@54.206.193.154> |

| Asia Pacific (south)                                                                   |
| -------------------------------------------------------------------------------------- |
| <radix://tn1qvgnymu94dw5gfug2e678x9h0puupk8vkm0z0083744jscukqvgsxjpgrnr@3.108.246.15>  |
| <radix://tn1qdhf7aeat739n77e227l3vgvv56kntp20ennaj38t5jc8988r5s2zxzxp77@3.108.209.244> |
| <radix://tn1qwrerrj64fc66v8ztcgd2fr8szx73k7ermkg5hyy8q7qelnu48svw44m362@3.108.183.207> |

| <p></p><p>EU (west)</p>                                                                 |
| --------------------------------------------------------------------------------------- |
| <radix://tn1qt9kqzzqyj27zv4n67f2jrzgd24hsxfwe8d4kw9j4msze7rpdg3guvk07jy@54.76.86.46>    |
| <radix://tn1qw3dyujr8ss29648wfqzenwx7el08yj6mpru6z62hxzlh9n3sgwwqdkl295@52.16.242.94>   |
| <radix://tn1qgtjz4432e7ghdfsdc6ssu4v63rwxk2g84e4yedadeasfsfaw3995l9gl6l@52.215.119.169> |

| <p></p><p>US (east)</p>                                                                |
| -------------------------------------------------------------------------------------- |
| <radix://tn1qvluh8d3e6uxnm2k0h6zfnng0r7hkgcd8ppjn8slzyhs7vqlavw0va9de6q@3.222.172.90>  |
| <radix://tn1q0g9zpvv2ggw99fz86q52csdjk2t0ynqz0r0e23xhdszx3r7sv9jyx84lc4@54.210.93.129> |
| <radix://tn1qt2rma6397uytnusr0ct777tp3gnzkh65apnmhz9zqjqvmwjxwvhv8rmdd3@34.195.139.75> |

It will now go through a list of questions to configure your node

![](/files/-MezNSpXm5wT7KWMUh3A)

enter **y** at the prompt

```
Going to setup node type fullnode for version 1.0-beta.37 from location https://github.com/radixdlt/radixdlt/releases/download/1.0-beta.37/radix-fullnode-compose.yml.

Do you want to continue [Y/n]?:
```

as this is our first install enter **n** for the node keystore file.

```
Do you have keystore file named 'node-keystore.ks' already from previous node Y/n?:n
```

Enter a strong password for your keystore file

```
Enter the password of the new file 'node-keystore.ks':
```

Choose **Y** to configure the data directory.

```
Do you want to configure data directory for the ledger [Y/n]?:Y
```

Enter the absolute path to where you want to store the Radix DB

```
Enter the absolute path to data DB folder: /home/radixdlt/RADIXDB
```

enter **s** for stokenet or **m** for mainnet

```
Enter the network you want to connect [S]Stokenet or [M]Mainnet or network_id:s
```

the install is now complete. Your docker yml file will be displayed where you can check the docker settings. Enter **y** to start your node

![](/files/-MeypIJ___-PPtkPq-qp)

Your node is node installed. Before we move to the next section we'll confirm some basic checks

```
radixnode api account get-info
```

should return the following Json with your own **tdx**... node wallet address

```
{"result": {"address": "tdx1qsprd6tt0dxvw9qks2mh743tr68s4ft9p6qv2zkfc622uymczragyfclqqu7e", "balance": {"stakes": [], "tokens": []}}, "id": 1, "jsonrpc": "2.0"}
```

check the software version is correct

```
radixnode api version

{"version": "1.0-beta.37-release~1.0-beta.37-SNAPSHOT"}
```

check the node's health

```
radixnode api health

{"status": "UP"}
```

other reponses may include

* BOOTING - node is booting and not ready to accept requests
* SYNCING - node is catching up the network
* UP - node is in sync with consensus
* STALLED - node is out of sync and not trying to sync with network, but network is still available.
* OUT\_OF\_SYNC - node is out of sync and does not get updates from network (for example, connection to network is lost).

the node is now ready to be registered on the network.

### Optimise Node

You need to install ansible first

```
sudo apt install ansible
```

### Original Radix Docs

Docker Install using CLI <https://docs.radixdlt.com/main/node/cli-install-node-docker.html>

SystemD Install using CLI <https://docs.radixdlt.com/main/node/cli-install-node-systemd.html>
