Step-by-step host setup
Connect your NVIDIA GPU machine to the Edge Compute network. Customers rent your GPUs through our platform; we handle billing, support and security. Plan on about an hour for a fresh machine.
1. Apply to host ~5 min
Hosting is by invitation while we grow the network. Apply below; once approved, we send you a one-time join token that ties your machine to your host account. Treat it like a password.
Want hardware that's ready out of the box? See our Edge Node.
2. Minimum requirements ~1 min
Your machine must meet all of these to be approved.
| Component | Minimum | Recommended |
|---|---|---|
| OS | Ubuntu Server 22.04 LTS | Ubuntu Server 24.04 LTS (server edition only) |
| GPU | NVIDIA, 24 GB+ VRAM, all GPUs the same model | RTX 5090 / 4090 or data-centre GPUs |
| Driver | Supports CUDA 12.8 (RTX 50-series: open kernel modules, 570+) | Latest production branch |
| CPU | x86_64 with AVX2, 4 threads per GPU | 8+ threads per GPU |
| RAM | At least the total VRAM of all GPUs | 2× total VRAM |
| Storage | NVMe SSD, 500 GB free per GPU | Separate XFS partition for Docker |
| PCIe | Gen 4 ×8 per GPU | Gen 5 ×8 or Gen 4 ×16 |
| Network | Wired Ethernet, 100 Mbps upload | 500 Mbps+ symmetric fibre |
| Power | PSU rated ≥ 1.3× peak draw | UPS for short outages |
| Use | Machine dedicated to hosting | On its own network segment (see Network) |
| Location | In Canada | |
3. Hardware & BIOS ~10 min
- Above 4G Decoding and Resizable BAR: enabled.
- IOMMU / SVM (AMD) or VT-d (Intel): enabled (needed later for VM isolation).
- Secure Boot: disabled — it blocks the NVIDIA kernel module unless you sign it yourself.
- Restore on AC power loss: Power On, so the machine comes back after an outage.
- PCIe slots: confirm each GPU links at Gen 4/5 and ×8 or wider (we check this after install).
- Fans: set a curve for 24/7 load; GPUs should stay under ~80 °C sustained.
- Two high-power GPUs need a native 12V-2×6 cable each — never daisy-chain adapters.
4. Install Ubuntu & plan storage ~20 min
Option A — USB auto-installer (easiest)
We provide a Ventoy USB stick (or the files to make one) that installs Ubuntu, the driver and our software with no typing. It erases the largest disk in the machine. Boot from USB, pick the Ubuntu image, confirm, and come back in ~30 minutes. Skip to Verify.
Option B — manual install
Download Ubuntu Server 24.04 (amd64), install it with OpenSSH server enabled, then update everything:
sudo apt-get update && sudo apt-get upgrade --with-new-pkgs -y && sudo reboot
Recommended layout — keep customer containers on their own fast partition:
Filesystem Size Type Mounted on /dev/nvme0n1p1 1G vfat /boot/efi /dev/nvme0n1p2 100G+ ext4 / # Ubuntu + host software /dev/nvme0n1p3 REST xfs /var/lib/docker # customer containers
To set up the Docker partition (replace /dev/<partition>):
sudo mkfs.xfs -f /dev/<partition> sudo mkdir -p /var/lib/docker echo "UUID=$(sudo blkid -s UUID -o value /dev/<partition>) /var/lib/docker xfs rw,auto,pquota 0 0" | sudo tee -a /etc/fstab sudo mount /var/lib/docker && df -h /var/lib/docker
XFS with project quotas (pquota) lets us enforce per-container disk limits.
5. NVIDIA driver ~10 min
Our installer installs the recommended driver automatically if nvidia-smi doesn't work yet, so most
hosts can skip this step. If you install it yourself:
sudo ubuntu-drivers install # picks the recommended (open) driver sudo reboot nvidia-smi # every GPU listed, no errors
- RTX 50-series (Blackwell) requires the open kernel modules, driver 570 or newer.
- Disable Secure Boot first, or the module won't load.
- Run
nvidia-smi -q | grep -i "link"to see each GPU's PCIe generation and width.
6. Network ~10 min
| Requirement | Details |
|---|---|
| Outbound access | TCP 443 to clearlayer.ca and TCP 7000 to clearlayer.ca |
| Connection | Wired Ethernet. Wi-Fi is not supported for hosting. |
| Speed | 100 Mbps upload minimum; 500 Mbps+ makes your machine far more attractive. |
| IP address | Dynamic IPs and CGNAT are fine. Give the machine a fixed DHCP lease on your router. |
| Isolation | Strongly recommended: put the host on a separate VLAN or guest network, away from your personal devices. |
| ISP terms | Check that your internet plan allows running servers; business plans usually do. |
Our installer also adds a firewall so customer containers can't reach your LAN, your router or the host itself.
7. Install the host software ~15 min
Run this on the machine with the join token we sent you:
curl -fsSL https://clearlayer.ca/install.sh | sudo bash -s -- --token join_XXXXXXXX
It installs and configures:
- NVIDIA driver (if missing), Docker and the NVIDIA Container Toolkit (≥ 1.17.8)
- Docker hardening: user-namespace remapping and live-restore
- The sandbox firewall, the security self-check and safe automatic updates
- The
edge-agentservice, which registers your machine
Options: --name my-node-1 sets the name shown in your dashboard. If the driver was just installed,
the script asks you to reboot; the agent starts on its own afterwards.
systemctl status edge-agent # should be "active (running)" journalctl -u edge-agent -f # live log
8. Verify your machine ~10 min
Within a minute the agent connects and runs our security self-check, which starts a container exactly like a customer's and tries to break out of it. Run it yourself any time:
sudo bash /opt/edge-agent/edge-selfcheck.sh
| Check | Passes when |
|---|---|
| toolkit | NVIDIA Container Toolkit is 1.17.8 or newer (older versions allow container escape) |
| firewall | The sandbox firewall rules are loaded |
| isolation | A container can't reach your router, your LAN, the host's SSH, link-local/metadata addresses or outbound mail |
| egress / dns | Containers can reach the internet (pip, Hugging Face) |
| userns | Root inside a container maps to an unprivileged user on the host |
| no-new-privileges | Processes can't gain privileges inside the container |
| gpu | A rental sees exactly the one GPU it was given |
The result is pass, warn or fail. A machine that fails is never shown to
customers. We then review the machine (hardware details, PCIe links, a test rental) before approving it.
9. Go live
- Once approved, each GPU appears in the GPU console and can be rented by the minute or reserved.
- Prices are set by us, based on demand; reliability (uptime) is shown to customers and affects how often you're chosen.
- Never interfere with a rented machine — don't reboot it, stop Docker or unplug it while a customer is on it. Use maintenance mode instead.
10. Ongoing maintenance
Automatic updates (nothing to do)
- The NVIDIA Container Toolkit is updated straight away — it only affects new containers.
- Ubuntu security updates install automatically.
- Driver and kernel updates wait: the machine stops taking new rentals, and once the last customer is done it installs the updates and reboots by itself.
Planned maintenance
Put the machine into maintenance mode; current customers keep running, no new ones start:
sudo touch /var/lib/edge-agent/maintenance # stop taking new rentals docker ps --filter label=edge.rental_id # wait until this is empty # … do your work, reboot, etc. … sudo rm /var/lib/edge-agent/maintenance # back in service
11. Troubleshooting
| Symptom | What to do |
|---|---|
| Machine never appears | journalctl -u edge-agent -n 100. "invalid or expired join token": ask us for a new one, then sudo rm /var/lib/edge-agent/node.json and restart the agent. |
| "nvidia-smi not working yet" | Reboot after the driver install. Check Secure Boot is off. sudo dmesg | grep -i nvidia. |
Failed to initialize NVML: Driver/library version mismatch | The driver was upgraded without a reboot — enable maintenance mode, wait for rentals to finish, reboot. |
Security check: fail | Run the self-check by hand and read the FAIL lines. Most often: firewall not loaded (sudo systemctl restart edge-firewall) or an old toolkit (sudo /opt/edge-agent/edge-update.sh). |
| userns OFF warning | GPU containers failed with user-namespace remapping on this machine. Tell us your driver/toolkit versions. |
| Machine shows offline | Check outbound access to TCP 443 and 7000; systemctl restart edge-agent. |
| Rentals stuck "starting" | The template image is downloading or failed to pull: docker images, free disk space with df -h /var/lib/docker. |
12. Uninstall
Enable maintenance mode and wait for rentals to finish first, then:
sudo systemctl disable --now edge-agent edge-update.timer edge-firewall sudo rm -rf /opt/edge-agent /etc/edge-agent /var/lib/edge-agent /etc/systemd/system/edge-* docker ps -aq --filter label=edge.rental_id | xargs -r docker rm -f
Then tell us so we can remove the machine from your account.