Getting Started

Follow these simple steps and you'll be up and running in no time

Want to run RAIRprotocol in less than 20 minutes? Make sure you have

-Ubuntu 24.04, 8gb ram, 20gb storage on your target machine

-Root access with your username and password to run sudo

Full Video Tutorial

Getting your environment ready for RAIRprotocol

RAIRprotocol is easy to deploy with Docker and Docker Compose. See our WSL guide here to run Ubuntu on your Windows machine.

  1. On any Ubuntu 24.04 machine first install Docker Dependencies

-First update your machine

sudo apt update

-Then add dependencies

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

-Then add keys

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

-Update one more time

sudo apt-get update
  1. Install Docker Itself

Just one line to Install Docker!

sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. Install Docker Compose (latest version)

-Now we need to install Compose to run our app with a single command

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

-then make Docker Compose executable

sudo chmod +x /usr/local/bin/docker-compose

  1. Git Clone our Repo!

-If you need Git run this first

sudo apt install git-all

-Then clone our whole repo with one command! Note this is ~500mb.

git clone https://github.com/rairprotocol/rair-dapp.git

Deploying RAIRprotocol

You made it! Now that Docker and Compose are installed on our Ubuntu machine.. running RAIRprotocol is a snap!

  1. Copy env and run default compose file

-Navigate to rair-dapp directory. Should be in the main folder

cd rair-dapp

-Then copy the sample environment file .env.sample to .env

cp .env.sample .env

-And one more time for the frontend environment variables

cp rair-front/.env.sample rair-front/.env

Starting the system

Make sure you have copied your env to both rair-dapp and rair-front first before running! If you try to run the system before copying the env your database will be corrupted. Just in case this happens you can run "sudo rm -rf dev" to delete the database, then try again.

sudo docker-compose -f docker-compose-web.yml up -d

Making sure system is up

sudo docker ps -a

Output of above command should list all the services in running status. For example:

CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS         PORTS                                                                                  NAMES
8e94675ec590   rair-dapp_rair-sync     "docker-entrypoint.s…"   8 seconds ago    Up 7 seconds   0.0.0.0:5001->5001/tcp, :::5001->5001/tcp                                              rair-sync
3cc32d0e0917   rair-dapp_rair-front    "/docker-entrypoint.…"   8 seconds ago    Up 7 seconds   0.0.0.0:8088->80/tcp, :::8088->80/tcp                                                  rair-front
cf24312bb570   rair-dapp_rair-node     "docker-entrypoint.s…"   9 seconds ago    Up 8 seconds   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   rair-node
dbb19e620b4f   mongo                   "docker-entrypoint.s…"   10 seconds ago   Up 9 seconds   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp                                          mongo
8c9114b97dba   rair-dapp_rair-stream   "docker-entrypoint.s…"   10 seconds ago   Up 9 seconds   0.0.0.0:5002->5002/tcp, :::5002->5002/tcp                                              rair-stream
3f2106ec0103   redis                   "docker-entrypoint.s…"   10 seconds ago   Up 9 seconds   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp 

Stopping the system

This command stops all running Docker images. Do this before closing your terminal to make sure everything is properly shut down.

sudo docker-compose -f docker-compose-web.yml down

Check logs

Run below command to check logs of any service.

sudo docker logs -n 100 <CONTAINER ID>

Container ID can be obtained from output of sudo docker ps -a command

Remove installation

Try below command if you want to remove existing installation (docker images, docker containers, database etc.)

sudo ./rair-infra/commands/local-env-purge.sh

Updating RAIRprotocol

To pull the latest images to get the latest code use these commands

Git pull to pull the latest code

git pull

Check existing images

sudo docker images -a

Delete images (paste in your image ids)

Looks like this "sudo docker rmi e776960ffc67 18eb7403282e 60e0ddd7a2ae d8f1b061718c"

sudo docker rmi <IMAGE ID>

Delete containers

sudo docker system prune

Run the up command! You're all up to date!

sudo docker-compose -f docker-compose.local-new.yml up -d

Next Steps

Please follow our Github at https://github.com/rairprotocol star our repo and fork! See full deployment guides below.

Now that you have Docker installed, it's basically one command to run the docker compose YAML file after replacing a few API key variables in the sample.env

Last updated