Skip to main content

Docker Setup

Installing Docker

sudo apt install docker
sudo apt install docker-compose

Run the Docker Compose in order to launch your node

Instructions for First-Time Runners:

Change to the VPS-task directory and run the containers.

cd VPS-task
docker-compose up

Instructions for Users Who Want to Upgrade:

Navigate to the VPS-task working directory

cd VPS-task

Stop all running containers

docker-compose down

Remove all unused Docker images to free up space

docker image prune -af

Remove all stopped containers

docker container prune -f

Remove the specific Docker image

docker image rm public.ecr.aws/koii-network/task_node:latest

Start the containers in detached mode

docker-compose up -d

This command creates a staking wallet, stakes on the tasks, and then runs the tasks.

TypeError [ERR_INVALID_URL]: Invalid URL

If you encounter "TypeError [ERR_INVALID_URL]: Invalid URL" error, please verify Docker version!

docker-compose --version

Docker Compose Version below 1.29

If you have a version below 1.29, please execute the next commands:

which docker-compose

Update the docker-compose library. Make sure that the path in the end is the same as you retrieved from the previous command.

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

Give the system the permission

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

Run the Docker Compose again in order to launch your node successfully

cd VPS-task
docker-compose up

After completing this step you will have your node successfully running

Verify

In order to verify this:

docker logs -f --tail 100 task_node

If the logs return, something like i.e.

task_node    | [ '4ipWnABntsvJPsAkwyMF7Re4z39ZUMs2S2dfEm5aa2is' ] [ '2' ]
task_node | Staking wallet already exists
task_node | { isStakingWalletExists: true }
task_node | Staked 2 on 4ipWnABntsvJPsAkwyMF7Re4z39ZUMs2S2dfEm5aa2is
.....
Cluster RPC URL: https://testnet.koii.network
task_node | *********************ENDPOINTS*********************
task_node | /attention*
task_node | /
task_node | /nodes/:taskId
task_node | /register-node/:taskId
task_node | /get-all-running-tasks
task_node | /namespace-wrapper
task_node | /tasks
task_node | *********************END ENDPOINTS*********************
task_node | currentInterval undefined
task_node | running tasks now...
task_node | SETTING UP EXPRESS
task_node | setup function called
task_node | Free Token Task! listening on port 10000
task_node | getTaskLevelDBPath

It is successful!