Installation
PAUSE FOR NEW USER
Official Links
caution
You need a small amount of $AR token as gas fee. You can buy $AR on Binance or elsewhere.
Minimum Specifications
Spec | Size |
---|---|
CPU | 4 |
RAM | 4 GB |
SSD | 500 GB |
Bandwidth | 50 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, andAddress
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.
- Remove all default DNS Records if there are any.
- Set up an A Record pointing to your VPS IP, name it
@
. - Set up another A Record pointing to your VPS IP, name it
*
.
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
OK!
Import keyfile .json
- Export the keyfile from ArConnect, use the
keyfile
used forOBSERVER_WALLET
and import it to the VPS in the~/ar-io-node/wallets
directory with the nameWalletAddress.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!
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
Move the
key.json
file to your VPS and place it in the/testnet-contract
directory.
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