Skip to main content

Advanced Usage

Controllers and Nodes

A key feature of audius-ctl is the ability to interact with and control multiple Nodes from a single "Controller". Any computer or virtual machine can be a Controller, a laptop, a shared Virtual Private Server for your team, or even the VM running a Node itself. Only one Controller is needed, but Node Operators can configure as many Controllers as they would like.

Node Operators manage all of their Nodes, or a subset of their Nodes, from a single command line utility. Rather than needing to access each Node directly to issue commands, a single "controller" machine, using configuration profiles, is able to issue commands to several Nodes over ssh.

Audius Control Utility

Installing and configuring audius-ctl on the Controller includes the command line utility audius-ctl

Suggested Configuration

Flexible Options

While it is recommended to use an additional machine as a controller, any machine can operate as a controller.

Controller on Node

In this example, this Service Provider has elected to use the machine marked VM 1 to both run a node and serve as the controller for all of their other nodes.

Multiple Controllers

description text goes here

Using a Virtual Private Server

Keep private keys secure by requiring users interacting with Audius Nodes to log in to a Virtual Private Server and issue commands from audius-ctl there.


Downing a Node

If for some reason you want to down an Audius Node, use the following command:

audius-ctl down
All together now

This command will down ALL of the Audius Nodes specified in the configuration. To down a single node, pass the URL as an additional argument, like this:

audius-ctl down content-1.example.com

The same can be done with the up command when you are ready to start the Audius Node again.


Content Node

Storage Configuration

Content nodes support s3 compatible blob storage as an alternative to SSD storage.

Enter your information into each field for each Audius Content Node you will be running.

audius-ctl configuration file with AWS storage config
network:
deployOn: mainnet
nodes:
content-1.example.com: # <--- THE URL OF YOUR CONTENT NODE
type: content
privateKey: abc123 # <--- UNIQUE PRIV KEY USED BY THIS NODE TO SIGN RESPONSES
wallet: 0xABC123 # <--- UNIQUE WALLET ADDRESS OF ABOVE PRIV KEY
rewardsWallet: 0xABC123 # <--- ADDRESS OF WALLET HOLDING STAKED TOKENS
storage:
storageUrl: s3://my-s3-bucket
awsAccessKeyId: abc123
awsSecretAccessKey: 321cba
awsRegion: us-west-2