Running a Avail Full Node with Docker

bigrod
2 min readOct 29, 2023

--

This guide provides step-by-step instructions on how to set up and run a full node for the Avail network using docker. Whether you’re a beginner or an experienced node operator, this guide aims to make the process straightforward.

ATTENTIONS: if Your server OS is debian 11/12, ubuntu 2204/2304, fedora 37/38, you can use pre-compiled binaries to run the avail node.

  1. hardware requirements

This is the hardware configuration required to set up an Avail node:

Component Minimum Recommended

RAM: 4GB 8GB

CPU (amd64/x86 architecture): 2core 4core

Storage (SSD): 20–40GB 200–300GB

This guild uses ubuntu 2004 to deploy the avail full node.

ssh to your node server and install docker daemon. if your server os is not ubuntu, pls refer to https://docs.docker.com/engine/install/ubuntu/

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
“deb [arch=”$(dpkg --print-architecture)” signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
“$(. /etc/os-release && echo “$VERSION_CODENAME”)” stable” | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

run your avail node, change YOUR_NODE_NAME_HERE to your actual node name

mkdir avail

cd avail

sudo docker run -v $(pwd)/state:/da/state:rw -v $(pwd)/keystore:/da/keystore:rw -e DA_CHAIN=goldberg -e DA_NAME=YOUR_NODE_NAME_HERE -p 30333:30333 -p 9615:9615 -p 9944:9944 -d --name=avail --restart unless-stopped availj/avail:v1.8.0.0 --rpc-cors=all --rpc-external --rpc-methods=unsafe --rpc-port 9944

now your node is running, you can check the node status, and find the log bellow.

Syncing, target=#621376 (8 peers), best: #797 (0xf462…59a4), finalized #512 (0xea92…03c9), ⬇ 273.0kiB/s ⬆ 16.2kiB/s

sudo docker ps -a

sudo docker logs -f avail

If your node can not run successfully, you can try other methods such as compile node from source.

--

--