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.