Skip to Content
Bring Your Own Hardware

Bring Your Own Hardware

The Computalot fleet can run on machines that their owners join themselves: a colo box, a workstation, a homelab server. The machine joins with one command. It declares how much of itself it lends. Every task that it runs is walled off from the rest of the machine.

Program status: early access. The Computalot team issues the enrollment codes. The hardware enrolled today is operator-run while we build the host earnings rail. Do you want to lend a machine? Tell us through POST /api/v1/feedback (no auth required, type: "feature_request") or the waitlist on the landing page.

How joining works

The Computalot team enrolls your machine and hands you a one-time enrollment code (cek_…). The code is single-use, and it expires in 24 hours. Everything else happens on the machine itself, as root:

curl -fsSL https://computalot.com/computalot-host -o computalot-host && chmod +x computalot-host sudo ./computalot-host install --code cek_… --cpus 28 --memory-gb 56

The installer redeems the code over HTTPS and receives the configuration of the machine in exchange. You copy nothing to your machine by hand. Nothing ever connects in: there are no inbound ports, no port forwarding, and no public-IP requirement. After install, the worker only dials out.

The identity of the machine, its recorded hourly rate, and the kinds of work that it can receive are fixed at enrollment, on the Computalot side. A machine cannot rename itself or widen its own permissions. To revoke a lost or leaked code, we issue a new one.

You decide what the machine lends

Computalot never guesses your hardware and never imposes limits on it. The declaration is yours, made in the install command:

FlagMeaningDefault
--cpus NLend at most N CPU coresthe whole machine
--memory-gb NLend at most N GB of memoryall of it
--gpus all or --gpus 0,1Which GPUs to lendnone

The lend is enforced outside the worker, as hard systemd or container limits that the workload cannot raise. The lend is exactly what the machine reports upward as its capacity. The fleet therefore schedules only work that fits inside it. On a machine that you still use, leave yourself headroom. A few cores and a few GB keep it responsive, no matter what a task does.

To change the declaration later, run the installer again with new flags. It is idempotent, and it takes a few seconds.

GPUs get an explicit callout. A GPU machine that lends only CPU never exposes its cards, because the default is to lend none. The lend of GPUs is currently limited to the container profile (ask for it at enrollment) while we validate GPU passthrough inside the default sandbox.

What runs on your machine

Four boundaries stand between your machine and the work that it runs. Each boundary is enforced independently:

  1. Every task runs in its own gVisor sandbox. A userspace kernel services the syscalls of the task. Tasks never talk to your kernel directly. The sandbox runs rootless, without any privileged helper.
  2. Every task gets hard resource caps: CPU, memory, and process-count limits carved out of the share that you lent. A runaway task hits its own ceiling, not yours.
  3. Task traffic cannot reach your network. The worker lives in a private network namespace. The egress policy of that namespace rejects the machine’s own addresses, your loopback services, and your local network. Only the internet is reachable.
  4. The worker itself is an unprivileged system user under a hardened systemd unit: no access to /home, a read-only view of the system, and no way to gain privileges. Root is used exactly once, by the installer, in code that you can read. The worker never holds it.

Day to day

computalot-host statusworker state, identity, containment status
computalot-host logs --followtail the worker log
computalot-host stoppause without an uninstall
computalot-host leaveremove the worker and everything that install created

leave is always available and always complete. It removes the unit, the sandbox tooling grants, the egress policy, the state of the worker, and its user. Your machine, your call.

Requirements

  • Ubuntu 24.04 on x86_64 or aarch64
  • root for the installer (the worker itself runs unprivileged)
  • cgroup v2 (standard on Ubuntu 24.04) — per-task limits depend on it
  • docker present at install time only, as a release-extraction tool
  • curl and outbound internet — nothing inbound

Earnings

The hourly rate of each machine is recorded at enrollment, and customer work is metered on it. The accounting therefore exists from day one. The payout rail is still under construction. This is why the program is early access, and why the hardware enrolled today is operator-run. If you want your machine in the fleet when the program opens, say so through POST /api/v1/feedback.

Last updated on