---
title: Installation
slug: installation
docTags: 
createdAt: 2023-08-10T12:10:39.524Z
---

# Overview

This guide is intended to provide detailed instructions on the process of setting up nodes in the new OctaSpace Cube system.

# Pre-requisites

## Hardware

OctaSpace nodes can range from a Raspberry Pi to CPU-only nodes to multi-GPU machines, each of which can be used for different types of services.&#x20;

Please check the minimum [hardware requirements](docId\:Xmpm0EubOeMnh0J_G4eHz) based on the service you wish to provide.

## Operating system

OctaSpace node software runs on Linux distributions and supports both x86 and ARM64 architectures.&#x20;

You can find the list of supported OS under [software requirements](docId\:Xmpm0EubOeMnh0J_G4eHz).

Before proceeding further, please ensure that you have set up one of the supported operating systems.

### HiveOS

In cases where NVIDIA GPUs are used, you must ensure that driver version 550 or newest is installed.

It is crucial that the NVIDIA driver and the **libnvidia-gl&#x20;**&#x6F;&#x72;**&#x20;libnvidia-gl-server** packages have the same minor version.&#x20;

For example, if the driver version is 550.127.05, the libnvidia-gl-550 package must also have the same version. To check this run the following command:

```bash
apt show libnvidia-gl-550
```

In some cases docker may not start correctly due to IPv6 disable. To enable IPv6 edit /etc/default/grub file and remov&#x65;**&#x20;ipv6.disable=1&#x20;**&#x69;n GRUB\_CMDLINE\_LINUX\_DEFAULT option. After run **update-grub&#x20;**&#x63;ommand and restart machine.

## Service Ports and Firewall Configuration

Service ports are primarily used for facilitating the VPN service and providing direct access to services via a web interface that runs on nodes.&#x20;

In cases where service ports are not configured, all traffic between the node and the end user is, by default, directed through dedicated proxy servers located in the geographical regions closest to the node location.

:::hint{type="info"}
Configuration of service ports is an **optional&#x20;**&#x70;rocess <u>**ONLY IF NOT**</u> providing a **VPN&#x20;**&#x73;ervice.
:::

:::hint{type="success"}
Configuring service ports offers benefits such as improved network speeds between the node and the end user, and provides more direct access to the node, resulting in enhanced service quality.&#x20;
:::

If you do not intend to support VPN or prefer that services be routed through a proxy, you may proceed directly to the installation step.

### Configuration

For service ports to function, a node must have a static public IP address.

Depending on your network configuration, if the node is behind a NAT, you will need to configure port forwarding for a range of service ports on the router. Additionally, if the server has a firewall with a DROP policy for all incoming traffic, you will need to allow traffic to the service ports.

By default, the service port range is 51800–51816. Ensure that these ports are forwarded or opened for both TCP and UDP protocols.

# Installation and configuration&#x20;

:::hint{type="warning"}
All commands must be run under **root** user
:::

## GPU drivers

### AMD

[Linux® Drivers for AMD Radeon™ Graphics](https://www.amd.com/en/support/download/linux-drivers.html)

[Quick start installation guide](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html)

### NVIDIA

```shell
apt install -y nvidia-driver-590
```

## Storage configuration

:::hint{type="danger"}
You can skip storage configuration if you don't require any special settings. The installation script will automatically allocate 80% of the free disk space on the root filesystem for Docker data.

If you prefer to configure storage manually, you can disable the automatic setup by setting the SKIP\_FS\_CONFIG variable: `export SKIP_FS_CONFIG=1`
:::

Every service node need to have disk storage configured. The storage requirements can vary depending on the services that are run on the node, therefore it's important to ensure ample storage is configured.

Storage size depends on services provided by node, please consult [hardware requirements](docId\:Xmpm0EubOeMnh0J_G4eHz).

:::hint{type="success"}
The disk space will be used for various purposes including, docker images, container data as well as support OctaStorage service. Providing ample storage will ensure improved support of services.&#x20;
:::

Storage partition should be formatted in **XFS&#x20;**&#x66;ilesystem and mounted on **/var/lib/docker&#x20;**&#x64;irectory.

Depending on the machine configuration, the number of physical disks, and the presence of a RAID controller, there are multiple ways to configure storage for a service node. Below, we outline several common examples.

Prior to proceeding further, ensure you have installed **xfsprogs** package:

```shell
apt install -y xfsprogs
```

### File based partition through loop device

This method is useful for when a node does not have non allocated disk partitions. We will create file on existing filesystem and mount as partition. In this example we assume that root filesystem (/) has enough free disk space and will use it to store our file based partition.

- Create a 500Gb file that will be used for storage. If you have more spare disk space, set the amount as much as possible.

```shell
fallocate -l 500G /docker-data.img
```

- Format it in XFS filesystem

```shell
mkfs -t xfs /docker-data.img
```

- Mount and make it mounted on system start

```shell
echo "/docker-data.img /var/lib/docker xfs defaults,quota,prjquota,pquota,gquota 0 0" >> /etc/fstab
mkdir /var/lib/docker; mount /var/lib/docker
```

# Install service node software

Install distribution:

```shell
curl https://install.octa.space | bash
```

At the end of the installation, you will be given a unique node token. Use this token to register new node on [https://cube.octa.computer](https://cube.octa.computer)

Go to Hosting->Nodes and click Add Node

![](https://api.archbee.com/api/optimize/bdsKzi0GSJqADE8y4GkJt/hC1fKSJyMGA3sAhAkxOZG_image.png)

To make node available on marketplace it is necessary to specify **Reward Address** in profile settings. This address used to receive rewards when node is rented.

## Access to Node Dashboard

Dashboard is available on port 18888.

# Update service node software

- Stop node service

```shell
systemctl stop osn
```

- Update

```shell
curl https://install.octa.space | bash
```

# Uninstall service node software

- Stop and uninstall node service:

```shell
systemctl stop osn
systemctl disable osn
rm -f /etc/systemd/system/osn.service
```

- Remove user and data

```shell
userdel -r octa
```

###

