Skip to main content

Installation

PAUSE FOR NEW USER

caution

You need a small amount of $AR token as gas fee. You can buy $AR on Binance or elsewhere.

Screenshot_58

Minimum Specifications

SpecSize
CPU4
RAM4 GB
SSD500 GB
Bandwidth50 Mbps

Install Docker and More

sudo apt update; sudo apt upgrade -y
sudo apt-get update && sudo apt install jq git certbot nginx sqlite3 build-essential -y && sudo apt install apt-transport-https ca-certificates curl software-properties-common -y && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

Install Node.js & Yarn

Node.js

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.bashrc
nvm install 'lts/*'
nvm use 'lts/*'

Yarn

curl -sSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update -y
sudo apt-get install yarn -y

Open Ports

sudo ufw allow ssh; sudo ufw allow 80; sudo ufw allow 443; sudo ufw enable

Clone AR Repo

git clone https://github.com/ar-io/ar-io-node.git
cd ~/ar-io-node

Configure .env

nano .env
  • Fill it with the following, replacing domainmu.zzz with your domain, Password123 with your password, and Address with your wallet address from ARConnect, please generate 2 wallet
.env
GRAPHQL_HOST=arweave.net
GRAPHQL_PORT=443
START_HEIGHT=1000000
ARNS_ROOT_HOST=domainmu.zzz
ADMIN_API_KEY=Password123
AR_IO_WALLET=Address
RUN_OBSERVER=true
OBSERVER_WALLET=Address
  • Save it with Ctrl+X, Y, Enter

Configure Domain

Go to Manage Domain, buy from wherever you want. Make sure the domain is not used for other projects or personal websites.

  1. Remove all default DNS Records if there are any.
  2. Set up an A Record pointing to your VPS IP, name it @.
  3. Set up another A Record pointing to your VPS IP, name it *.

Screenshot_34

Configure SSL

Replace EmailMU@gmail.com with your email and all instances of domainmu.zzz with your domain.

sudo certbot certonly --manual --preferred-challenges dns --email EmailMu@gmail.com -d domainmu.zzz -d '*.domainmu.zzz'

At this step, you will receive instructions to set up TXT Records. Follow the instructions:

  • Copy it, don't press Enter/Continue yet.
  • Go to your domain manager, add a DNS Record.
  • Choose TXT.
  • Set name to _acme-challenge.
  • Set value to what you copied on your VPS.
  • Then check https://dnschecker.org/#TXT/
  • Once everything is checked and the content is correct, go back to your VPS and continue.

Configure Nginx

rm /etc/nginx/sites-available/default
nano /etc/nginx/sites-available/default
info

Fill it with the following, replacing all instances of domainmu.zzz with your domain:

default
# Force redirects from HTTP to HTTPS
server {
listen 80;
listen [::]:80;
server_name domainmu.zzz *.domainmu.zzz;

location / {
return 301 https://$host$request_uri;
}
}

# Forward traffic to your node and provide SSL certificates
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name domainmu.zzz *.domainmu.zzz;

ssl_certificate /etc/letsencrypt/live/domainmu.zzz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domainmu.zzz/privkey.pem;

location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
}
}
  • Save it with Ctrl+X, Y, Enter

Check Nginx Configuration

sudo nginx -t

Restart Nginx and Re-check Configuration

sudo service nginx restart
sudo nginx -t

Screenshot_35

OK!

Import keyfile .json

  • Export the keyfile from ArConnect, use the keyfile used for OBSERVER_WALLET and import it to the VPS in the ~/ar-io-node/wallets directory with the name WalletAddress.json. For example, xFK3NdQ1utoPQ2tXMgNKFn9oZGw0Tl4ihNo7JY5Ldnk.json.

Set Up Node

cd ~/ar-io-node
sudo docker compose up -d --build

Wait until it's finished...

Next, check if it's running

  • Open this in your browser, replacing IP.VPS.MU with your VPS IP:
url
http://IP.VPS.MU:3000/4GnL_uFIAcuiE_w4nPWvg_Z2eHkLnnnNDufPkNwab5M
  • If you see something like this, CONGRATULATIONS!
  • 4GnL_uFIAcuiE_w4nPWvg_Z2eHkLnnnNDufPkNwab5M

Request Test Tokens on Discord

  • Join Discord
  • Go to the #testnet channel.
  • Use the /apply command.
  • Fill out the survey and wait for delivery.


After Receiving Test Tokens

Clone the Contract Repo

cd $HOME
git clone https://github.com/ar-io/testnet-contract.git
cd ~/testnet-contract
yarn install
yarn build

Open ARConnect Extension Wallet

  • Export and name it key.json Screenshot_38

  • Move the key.json file to your VPS and place it in the /testnet-contract directory. Screenshot_39

Then read the CLI command there

Check in your browser if everything is normal

Uptime

url
https://domainmu.zzz/ar-io/healthcheck

ArDrive

url
https://ardrive.domainmu.zzz

Just check

url
https://domainmu.zzz/UymRNCv22DbIB1KpAtC0qy5oeC1TdGDgoEKWs7J8Y_Q

danger

⚠️ If you want to delete ⚠️

cd ~/ar-io-node
sudo docker compose down -v
sudo docker image prune -a
sudo docker builder prune