Ubuntu: Install Worker

A step-by-step guide for setting up the environment for io.net on Ubuntu-based machines.

Before Starting

1. Open the Ubuntu Terminal through the Start Menu.

Terminal is a tool on your computer that lets you type in commands to tell the computer what to do. Instead of clicking on things with a mouse, you write instructions, and the computer follows them. It's like talking directly to your computer using text.

Click the Start Menu icon, start typing "Terminal" in the search field, then click the Terminal icon:

2. Verify Your Ubuntu Version

For Linux users, ensure that your system is running Ubuntu 20.04 or later. You can check your Ubuntu version by executing the following command in the terminal.

📘

We recommend that you use Ubuntu 22.04 LTS.

lsb_release -a
3. CPU Requirement for Linux

We currently support AMD & Intel processors. You can find all supported processor and video card models found here.

To check your processor type, use the following command in the terminal:

lscpu

If you have not yet created an account, Creating an account on io.net is currently available only through X (Twitter), Apple ID or Google. Simply click on the "Sign Up" button and select either X, Apple ID, Worldcoin or Google to proceed with account creation.

1. From IO Elements Navigate to IO Worker

IO Elements serves as your new control panel for navigating the service efficiently. Click on IO Worker to delve deeper into its functionalities and features.

2. Use "Connect New Worker" Button to Open the Wizard

If Workers have not yet been added, you can use the central button. If the screen is full of information, find the same button in the upper right corner.

3. Name Your Device

Click the "Pencil" icon to open the popup for editing the device name. 



Please add a unique name for your device.
An ideal format would be something like this: 
My-Test-Device.

Select Ubuntu Operating System

Choose the Operating System of your device from MacOS, Windows or Ubuntu.

5. Select Device Type

You should choose the device type based on your task. A video card is better suited for AI tasks, while a processor is more suitable for graphic rendering.

GPU - This is the part of your computer or laptop that handles graphics - the video card. It's usually from Nvidea or Radeon. You can find a full list of video cards that io.net is compatible with here.

CPU - This forms the core of every smart device in our world, including your computer or laptop. Now, alongside Intel and AMD processors, Apple's processors have also joined the lineup. You can find a comprehensive list of processors compatible with io.net here.

You can also verify whether your GPU or CPU is included in the list of devices supported by our service on the wizard page.

🚧

If you select a GPU Worker and your device doesn't have GPU the setup will fail.

6. Prerequisites for Ubuntu - One-Time Setup for Hardware

Before proceeding, ensure you have the necessary tools installed on your Ubuntu system (skip if Docker and NVIDIA driver are already installed and configured).

📘

Do not install and use beta drivers for Linux.

If not, to install IO.Net Setup, follow these steps:

  1. Install the desktop IO.NET Setup Script using the installation command in the Terminal:
    curl -L https://github.com/ionet-official/io-net-official-setup-script/raw/main/ionet-setup.sh -o ionet-setup.sh
    

    ❗️

    If the cURL command fails, execute the following command to install cURL. After restarting, proceed to rerun the entire setup process.

    sudo apt install curl 
    
  2. Grant permissions to the new IO.NET Setup Script with this command:
    chmod +x ionet-setup.sh && ./ionet-setup.sh
    
  3. For systems equipped with GPUs, wait for the system to restart. Once it has restarted, run the setup again using the command provided earlier.

🚧

When using SXM or NV Link, ensure that Fabric Manager is installed correctly and enabled. This will prevent initialization issues and ensure that all GPUs are functioning properly, thereby avoiding PoW verification failures.

7. Download and Launch IO Binary

IO Binary is a compiled executable file used to perform computational tasks and manage system operations. It is crucial for the smooth operation of the platform as it handles essential functions directly related to the performance and reliability of the computational resources.

🚧

Do not modify or run code directly in io.net’s docker containers. This may disqualify your device from earning block rewards or being hired. If you have suggestions or ideas for custom code in our Docker containers, contact customer support to suggest them.

In this step, follow these instructions in the Terminal:

  1. Download the IO Binary for Ubuntu using the following link:

    curl -L https://github.com/ionet-official/io_launch_binaries/raw/main/io_net_launch_binary_linux -o io_net_launch_binary_linux
    
  2. Grant permissions to the new IO Binary with this command:

    chmod +x io_net_launch_binary_linux
    
  3. Copy generated the IO Binary address provided in the wizard and past it into Terminal to run further:

    ./io_net_launch_binary_linux
    

    📘

    If you want to disable sleep mode for a device, you can pass the --disable_sleep_mode=true argument at the end of the command line.

    ./io_net_launch_binary_linux --disable_sleep_mode=true
    

    You can find more additional arguments to use with the IO Binary command here.

8. Authorize Your New Device

The IO Binary may prompt you to authorize your new device.

📘

Remember, you have 3 minutes to complete the authorization of the device. If you miss it, you will need to rerun the code again.

You can do this in two ways:

  1. Copy the Link from the Terminal:

    Paste it into your browser and confirm the action. After confirmation, the system will prompt you to log in.

  2. Copy the Code from the Terminal:

    Enter this code on the page https://auth0.io.solutions/activate to authorize the device. After it, the system will prompt you to log in.

📘

Onboarding Multiple Devices by Bypassing Interactive Authentication

To onboard a new device, use the following command with the --token flag:

./io_net_launch_binary_linux --token your-token-value

This will allow you to bypass the interactive authentication process.

9. Remove previously installed Docker containers

IO Binary will ask you questions related to previously installed Docker Containers. To continue the installation of IO Worker, you must agree to remove all old containers and proceed by typing: *Yes

10. Waiting for Worker Connection to Complete

IO Binary will install all additional containers and images for your Docker. The process may take some time to complete as it installs additional packages for Docker. Please allow the installation process to finish.

Afterward, return to the browser to complete the installation.

You may need to wait for up to 10 minutes while the device checks and connects to the IO ecosystem. If it doesn't connect, reach out to our Support ticket by logging into your IO.Net account.

🚧

Please disable power-saving mode when running your devices on IO Net. Power-saving mode can impair device performance, potentially leading to failure in PoW or being classified as not providing adequate computing power.

Congratulations on Successfully Setting up Your First Worker.

Now that your Worker has been successfully created and is running, you can track its status on the Workers page.


📘

If you're having trouble installing Worker, please refer to our Worker troubleshooting guide. If the issue persists or you need further assistance, feel free to open a support ticket by logging into your IO.Net account and submitting a ticket!

🚧

Be aware that you will be installing a 20GB size container. This contains all the packages needed to serve AI/ML apps. Everything happens inside the container, nothing within the container can access your filesystem.