Skip to main content

System Requirements

Hardware Requirements

In order to maintain quality service across the Audius protocol, Audius Node hardware requirements are enforced by the on-chain governance protocol.

The minimum resource requirements per registered Node are as follows.

  • a public DNS endpoint with SSL support
  • operations support to enable high uptime and availability
  • datacenter-quality internet connection (eg. AWS, GCP, or similar)
choosing an operating system

While any linux based operating system will work, Ubuntu 22.04 LTS is currently recommended.

Content Node

  • 8 vCPU
  • 16 GiB of RAM
  • 2000 GiB (2 TiB) SSD
  • Firewalls configured to allow 0.0.0.0/0 ingress on ports 80 + 443

Discovery Node

  • 8 vCPU
  • 16 GiB of RAM
  • 256 GiB SSD
  • Firewalls configured to allow 0.0.0.0/0 ingress on ports 80 + 443 + 30300

System Configuration

With a Virtual Machine configured, confirm the following software configurations.

Docker is Installed

Both Content Nodes and Discovery Nodes must have docker installed.

Read more about installing Docker on Ubuntu on the official Docker documentation site.

Open Ports

When configuring Virtual Machines be sure to create firewall rules for the following ports.

  • Content Node Firewalls should be configured to only allow 0.0.0.0/0 ingress on ports 80 + 443
  • Discovery Node Firewalls should be configured to only allow 0.0.0.0/0 ingress on ports 80 + 443 + 30300

SSH Access

Managing and configuring Audius Nodes requires ssh access to each Virtual Machine from a computer you have ready access to, a laptop for example.

Store ssh credentials in the ~/.ssh/config file on your local computer. While specifics may change, the general format is as follows:

Host content1.myurl.com                       # <--- NODE URL
HostName 41.586.753.09 # <--- STATIC IP OF THE NODE
User user # <--- USERNAME
Port 22 # <--- COMMON SSH ACCESS PORT
IdentityFile ~/.ssh/google_compute_engine # <--- EXAMPLE GOOGLE CLOUD IDENTITY FILE

Additional configurations can be added to a single .ssh/config file, one after the other. Check out this guide from Digital Ocean for more information on creating and using config files.