Get a Quote     (408) 943-4100               TrueNAS Discord      VendOp_Icon_15x15px   Commercial Support Toggle between Light and Dark mode

Setting Up a Storj Node

  6 minute read.

Last Modified 2023-01-24 11:39 EST

Prerequisites

Storj is an open-source Decentralized Cloud Storage (DCS) platform. Storj permits a computer running its software to be configured to rent that system’s unused storage capacity and bandwidth to users.

Before you can configure your system to act as a Storj node, the following steps must be completed:

  • Update TrueNAS SCALE to the latest public release.

  • Have a publicly available hostname pointing to your router’s public IP address.

  • Your router must support DDNS (Dynamic DNS).

  • You must have a Storj wallet already set up. See Storj Wallet Configuration. There are special considerations regarding how to protect and manage your wallet, but they are outside the scope of this article.

  • Review the hardware and bandwidth considerations at Storj Node.

Generate an Authentication Token for Storj

Open a browser window and go to Storj Host a Node. Enter an email address that you would like associated with the account. Complete the I’m not a robot reCAPTCHA. Click Continue.

Copy the auth token and keep it in a secure location.

StorjHostaNode

DDNS Hostname

Provide a domain name with which you will access the Storj application. You need to have previously set up a DDNS hostname. The DDNS hostname should point to your router WAN IP address.

Port Forwarding

Your router should have a Port Forward section within which you can add a new rule. For the Destination Device, enter the internal IP address of your TrueNAS system. For the Public and Private ports, enter 20988. Select both TCP and UDP for the Protocol.

This enables QUIC, a protocol based on UDP that provides parallel uploads and downloads.

Your TrueNAS system must be up and running in order to check your open port. If your port forwarding is working, port 20988 is open.

Create the Storj Datasets on TrueNAS SCALE

DatasetsDashboardSCALE

Login to TrueNAS SCALE. In the Navigation menu at the left, click Datasets. The Datasets dashboard displays. With the System Dataset selected, click the Add Dataset button located on the right side of the dashboard.

AddDatasetStorjSCALE

The Add Dataset screen appears. In the Name field, enter a name for the first dataset to be created under the System Dataset. In this example, we entered storj-node.

Leave all other options at their defaults. Scroll down to the bottom and click Save.

DatasetsDashboardStorjNode

Select the storj-node dataset you just created underneath the System Dataset. Click the Add Dataset button at the right side of the screen.

Name the new dataset. In our example, we entered config. Leave all other settings at their defaults, scroll down and click Save.

In the Datasets Dashboard, select the storj-node dataset again, and click the Add Dataset button at the right side of the screen.

Name the new dataset. In this example, we entered identity. Leave all other settings at their defaults, scroll down and click Save.

DatasetsDashboardStorjNodeNested

TrueNAS displays two nested datasets underneath the storj-node dataset. In this example, the nested datasets are config and identity.

Install the Storj App on TrueNAS SCALE

Application Name and Config

InstallApplicationsStorjSCALE

Click on Apps in the navigation menu of the SCALE UI. Installed Applications appears on the first menu tab. Click on the second tab to view the Available Applications. Find the Storj App, and click the Install button.

InstallStorjAppNameSCALE

Enter a name for the Storj App. Lowercase alphanumeric characters can be specified. Name must start with an alphabetic character and can end with an alphanumeric character. Hyphen is allowed, but not as the first or last character. In this example, we entered storjnode.

The next steps relate to the Storj App configuration:

InstallStorjAppConfigSCALE

Configure Wallet for Storj. Enter the Storj Eth Wallet address.

Configure Auth token for Storj Node. Enter the Auth Token that you created for the Storj Node.

Configure Email for Storj. Enter the email address you associated with the Auth Token created for the Storj Node.

Add Your Storage Domain for Storj. Enter your storage domain for Storj, the public DNS name for your network. If you are using Dynamic DNS (DDNS), enter that name here as well. Example: name.ddns.net.

Owner User ID. The default is 568.

Owner Group ID. The default is 568.

Storj Extra Environment Variables. The default setting for this field is empty. To define additional environment variables, click the Add button. For additional information see Storj Environment Variables.

InstallStorjAppConfigExtraEnvVariablesSCALE

Determine How Much Local Storage to Allocate to Storage Node

InstallStorjAppStorageSCALE

In the Configure Storage Size You Want to Share in GB’s, enter the amount of space to dedicate to Storj.

Select the checkbox Enable Custom Host Path for Storj Configuration Volume. Browse to the host path by clicking on the arrow chevron_right next to the System Dataset Pool icon. A dropdown navigation menu appears. Select the newly created dataset (in our example: config). This path appears in the Host Path for Storj Configuration Volume field.

Next, select the checkbox Configure Identity Volume for Storage Node. Browse to the host path by clicking on the arrow chevron_right next to the System Dataset Pool icon. A dropdown navigation menu appears. Select the newly created dataset (in our example: identity). This path appears in the Host Path for Storj Identity Volume field.

By default, the Extra Host Path Volumes field is empty. Click the Add button to define a Mount Path in Pod and a Host Path.

InstallStorjAppStorageExtraHostPathSCALE

Network Settings

InstallStorjAppNetworkingSCALE

Enter the web port in the Web Port for Storj field. In this example we are keeping the default setting 20909.

Enter the node port in the Node Port for Storj field. In this example, we are keeping the default setting 20988.

Advanced DNS Settings

InstallStorjAppAdvDNSSCALE

Click the Add button to create advanced DNS settings. In this example, we are keeping the default settings and not entering any advanced DNS settings.

Resource Limits

InstallStorjAppResourceLimitsSCALE

By default, Enable Pod resource limits checkbox is cleared. In this example, we are keeping the default setting and not enabling Pod resource limits.

When the Enable Pod resource limits checkbox is selected, two additional fields display:

InstallStorjAppResourceLimitsSelectedSCALE

CPU Limresource limitsit allows you to enter a plain integer value with the suffix m(milli) to define the CPU resource limit. Example: 1000m, 100.

Memory Limit allows you to enter a value specified by the number of bytes. This value is followed by the quantity suffix such as E,P,T,G,M,k as well as Ei, Pi, Ti, Mi, Gi, and Ki. Example: 129e6, 129M, 128974848000m, 123Mi.

Review your entries carefully. To confirm these settings and begin the Storj app installation, click Save.

Using the Web Portal

Clicking Save begins the installation. The time required to install the Storj App will vary depending on your hardware and network configuration. When the installation is complete, clicking the Installed Applications tab displays the Storj App. The status of the application should be listed as active.

Click the Web Portal button to view additional details about the application.

The Storj Node dashboard displays stats for the storage node. These may include bandwidth utilization, total disk space, and disk space used for the month. Payout information is also provided.

Related Content


Have more questions or want to discuss your specific configuration? For further discussion or assistance, see these resources:

Found content that needs an update? You can suggest content changes directly! To request changes to this content, click the Feedback button.