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-smiworks) - Docker: installed and running
- Network: 50 Mbps download, public IP, ports open (default
8080HTTP and2200SSH) - Hardware: ≥ 8 GB RAM, ≥ 100 GB free storage. To earn the idle (unrented) incentive the node also needs total disk of at least 1.5× its total GPU VRAM — an 8× H100 80GB node reports 637.2 GB of VRAM, so it needs 955.8 GB of disk, not 100 GB. See Subnet emission → Unrented pool
- A provider already registered on Subnet 51 — see Provider Quickstart. You'll need its hotkey SS58 address.
Optional (strongly recommended)​
-
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 mattersWithout 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. Hitting no such file or directory on /proc/driver/nvidia? Sysbox is running without ID-mapped mounts, usually an old kernel — see Kernel 5.19+ is mandatory for GPUs. Running Docker 29.x, or hitting permission denied or namespace {"time" ""} does not exist? See Docker 29.
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:
| Step | Action |
|---|---|
| 1 | Clone or update the lium-io repo into ./compute-subnet |
| 2 | Run scripts/install_executor_on_ubuntu.sh (Docker + NVIDIA Container Toolkit checks) |
| 3 | Render neurons/executor/.env from the template (ports + hotkey) |
| 4 | docker compose up -d and wait for the container to report healthy |
| 5 | Run 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​
- Sign in at provider.lium.io — if you haven't yet, follow Provider Quickstart → Step 2.
- In the sidebar, click Add Node.
- 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)
- GPU Type (e.g.
- 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​
- Docker Storage Setup — provision XFS-backed Docker storage for stable rentals.
- GPU splitting — let multiple customers rent partial GPUs from one node.
- CVM (Confidential VM) — TDX-isolated nodes for sensitive workloads.
- 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.