Silo Docs
Silo Docs
  • Home
    • Overview
    • Pricing
      • Enterprise
      • Individual
  • Learn
    • Product Overview
  • Node
    • Overview
      • Step-by-Step Instructions to Install Silo Node Using Docker
      • Payout
Powered by GitBook
On this page
  • Step 1: Understand Prerequisites
  • Step 2: Get an Authorization Token
  • Step 3: Setup Port Forwarding
  • Step 4: Configure QUIC
  • Step 5: Create an Trustkey
  • Step 6: Install Silo Node Software - Docker

Was this helpful?

  1. Node
  2. Overview

Step-by-Step Instructions to Install Silo Node Using Docker


Step 1: Understand Prerequisites

Before setting up a Silo node, ensure the following:

  1. Hardware Requirements:

    • Minimum 500 GB of free storage.

    • Minimum 2 TB of bandwidth per month.

    • Stable and consistent internet connection.

  2. Operating System:

    • Linux or Windows (Docker support is required).

  3. Docker:

    • Ensure Docker is installed. Follow the Docker installation guide if needed.

  4. Public IP Address:

    • A public IP or properly configured Dynamic DNS.

  5. Wallet Address:

    • A Larissa Network wallet address for Silo payouts.


Step 2: Get an Authorization Token

  1. Open Silo registration page on the Silo website.

  2. Enter your email to generate an authorization token.

  3. Save this token securely, as it will be used to authenticate your node.


Step 3: Setup Port Forwarding

  1. Access your router’s configuration page:

    • Typically accessed via http://192.168.1.1 (or your router's IP address).

  2. Forward the following ports:

    • TCP Port 28967: Default Silo node communication port.

    • UDP Port 28967 (if QUIC is enabled, see Step 4).

  3. Ensure the forwarded ports point to the local IP address of the machine hosting the Silo node.


Step 4: Configure QUIC

QUIC improves performance and is recommended for Silo nodes.

  1. Forward UDP Port 28967 (as per Step 3).

  2. Confirm with your ISP that UDP traffic is not blocked.

  3. No additional configuration is required on the node for QUIC if the port is open.


Step 5: Create an Trustkey

Download the Trustkey Tool:

PowerShell:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; curl https://github.com/silos3/silo-release/releases/download/v1.0.0-P/trustkey_windows_amd64.exe.zip -o trustkey_windows_amd64.exe.zip; Expand-Archive ./trustkey_windows_amd64.exe.zip . -Force; Rename-Item -Path ./trustkey_windows_amd64.exe -NewName trustkey.exe

Generate an Trustkey:

./trustkey.exe create silonode

Authorize the Trustkey:

./trustkey.exe authorize silonode <email:your-authorization-token>
curl -L https://github.com/silos3/silo-release/releases/download/v1.0.0-P/trustkey_linux_amd64.zip -o trustkey_linux_amd64.zip
unzip -o trustkey_linux_amd64.zip
chmod +x trustkey_linux_amd64
sudo mv trustkey_linux_amd64 /usr/local/bin/trustkey

Generate an Identity:

trustkey create silonode

Authorize the Identity:

trustkey authorize silonode <email:your-authorization-token>

Store Securely:

  • Ensure the trustkey files are saved in a secure and accessible location.


Step 6: Install Silo Node Software - Docker

Pull the Silo Docker Image:

  • Use the following command to download the official Silo node Docker image:

    docker pull silos3/silo-node:latest

Paste the command into a plain text editor, such as Notepad++ (highly recommended), avoiding any word processing software.

docker run --rm -e SETUP="true" --mount type=bind,source="<trustkey-dir>",destination=/app/trustkey --mount type=bind,source="<storage-dir>",destination=/app/config --name storagenode silos3/silo-node:latest

Substitute <trustkey-dir> and <storage-dir> with your specific parameters, execute the revised command in a terminal, and confirm that your node is now successfully configured.

Copy the command into a plain text editor like a nano:

docker run --rm -e SETUP="true" \
    --user $(id -u):$(id -g) \
    --mount type=bind,source="<trustkey-dir>",destination=/app/trustkey \
    --mount type=bind,source="<storage-dir>",destination=/app/config \
    --name storagenode silos3/silo-node:latest

Substitute <trustkey-dir> and <storage-dir> with your specific parameters, execute the revised command in a terminal, and confirm that your node is now successfully configured.

Run the Docker Container:

Paste the command into a text editor, such as Notepad++ (highly recommended), avoiding the use of any word processing software.

docker run -d --restart unless-stopped --stop-timeout 300 -p 28967:28967/tcp -p 28967:28967/udp -p 127.0.0.1:14002:14002 -e WALLET="0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -e EMAIL="username@domain.com" -e ADDRESS="domain.ddns.net:28967" -e STORAGE="2TB" --mount type=bind,source="<trustkey-dir>",destination=/app/trustkey --mount type=bind,source="<storage-dir>",destination=/app/config --name storagenode silos3/silo-node:latest

Modify the values for WALLET, EMAIL, ADDRESS, and STORAGE, replacing <trustkey-dir> and <storage-dir> with your specific parameters.

Execute the updated command in your terminal.

Congratulations, you are now operating as a Storage Node!

Copy the command into a plain text editor, like a nano:

docker run -d --restart unless-stopped --stop-timeout 300 \
  -p 28967:28967/tcp \
  -p 28967:28967/udp \
  -p 127.0.0.1:14002:14002 \
  -e WALLET="0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  -e EMAIL="username@domain.com" \
  -e ADDRESS="domain.ddns.net:28967" \
  -e STORAGE="2TB" \
  --user $(id -u):$(id -g) \
  --mount type=bind,source="<trustkey-dir>",destination=/app/trustkey \
  --mount type=bind,source="<storage-dir>",destination=/app/config \
  --name storagenode silos3/silo-node:latest

Update the WALLET, EMAIL, ADDRESS, and STORAGE fields with your specific parameters, replacing <identity-dir> and <storage-dir> accordingly.

After making the necessary changes, copy the revised command and execute it in your terminal.

Congratulations, you are now operating as a Storage Node!

Check Node Status: Verify the Silo node is running by listing Docker containers:

docker ps -a

Monitor : Your node stats

http://127.0.0.1:14002

PreviousOverviewNextPayout

Last updated 5 months ago

Was this helpful?