Skip to main content

Node Quickstart

Get started in 5 min​

Three commands and a portal click bring a GPU machine online as a Lium node.

Requirements​

  • OS: Ubuntu 22.04 (recommended)
  • GPU: NVIDIA driver installed (nvidia-smi works)
  • Docker: installed and running
  • Network: 50 Mbps download, public IP, ports open (default 8080 HTTP and 2200 SSH)
  • Hardware: ≥ 8 GB RAM, ≥ 100 GB free storage
  • A provider already registered on Subnet 51 — see Provider Quickstart. You'll need its hotkey SS58 address.
  • Docker Storage Setup — provision XFS-backed Docker storage with project quotas so each rented pod is capped at the disk size advertised in the portal.

    Why this matters

    Without XFS + pquota, a renter can write across the entire host disk instead of the slice they paid for. The validator detects this as a misbehaving node and your score drops to 0, which means no emission and no rentals until you reprovision storage.

Step 1 — Install Sysbox (required)​

Sysbox is required. Validators reject any node missing the sysbox-runc runtime — without it the node earns no emission and cannot be rented. Install it before anything else. The lium-io repo ships an installer that also handles the NVIDIA Container Toolkit:

curl -fsSL https://raw.githubusercontent.com/Datura-ai/lium-io/main/neurons/executor/nvidia_docker_sysbox_setup.sh | sudo bash

Verify with the same command our validator uses:

docker run --rm --runtime=sysbox-runc --gpus all daturaai/compute-subnet-executor:latest nvidia-smi

If nvidia-smi output appears — you're good. Running Docker ≥ 29.2.0, or hitting a permission denied error? See the Sysbox page for the CDI fix.

Step 2 — Run the node in one script​

curl -fsSL https://lium.io/mine.sh | bash -s -- -k <your_provider_hotkey_ss58>

This installs the lium CLI, then runs lium mine, which:

StepAction
1Clone or update the lium-io repo into ./compute-subnet
2Run scripts/install_executor_on_ubuntu.sh (Docker + NVIDIA Container Toolkit checks)
3Render neurons/executor/.env from the template (ports + hotkey)
4docker compose up -d and wait for the container to report healthy
5Run the validator's own check via daturaai/lium-validator:latest

You'll be prompted for ports interactively. Defaults work for most providers:

  • Service port — node HTTP API (default 8080)
  • Node SSH port — used by validators to SSH into the container (default 2200)
  • Public SSH port — only if behind NAT and forwarding a different port
  • Renting port range — optional, e.g. 2000-2005

To skip prompts and accept all defaults, append --auto:

curl -fsSL https://lium.io/mine.sh | bash -s -- -k <your_provider_hotkey_ss58> --auto

When the script finishes, note the printed GPU type, IP address, port, and GPU count — you'll paste them into the portal next.

Step 3 — Register the node in the Provider Portal​

  1. Sign in at provider.lium.io — if you haven't yet, follow Provider Quickstart → Step 2.
  2. In the sidebar, click Add Node.
  3. Fill the form with the values printed at the end of Step 2:
    • GPU Type (e.g. RTX 4090)
    • GPU Count
    • IP Address
    • Port (default 8080)
    • Price per GPU (USD/hr)
  4. Click Add Node to submit.

After submitting, the node will appear in your portal — confirm it shows as active. Detailed walk-through: Managing Nodes → Adding New Nodes.

What's next​

  1. Docker Storage Setup — provision XFS-backed Docker storage for stable rentals.
  2. GPU splitting — let multiple customers rent partial GPUs from one node.
  3. CVM (Confidential VM) — TDX-isolated nodes for sensitive workloads.
  4. Manage prices and notice periods in the Provider Portal.

Other useful lium commands​

lium gpu-splitting check    # inspect host before enabling GPU splitting
lium gpu-splitting setup # provision XFS-backed Docker storage non-interactively
lium gpu-splitting verify # confirm the host meets the splitting requirements

See GPU Splitting for the full workflow.