Your own machines
Enroll a computer you own so Portal can run jobs on it, next to your cloud machines.
Warnings and limits
- Jobs on your machine run as the user who installed Portal's agent, with that user's files and permissions. Enroll only machines whose jobs you trust.
- An enrollment code is valid 10 minutes and works once. A machine that is not approved within 24 hours is revoked; so is one after the fifth wrong pairing code.
- Only an Owner approves a machine, in the console, with the pairing code the machine prints.
- A workspace holds at most 50 machines, and at most 20 codes and unapproved machines wait at once. Each person makes at most 10 codes an hour.
- Portal never powers your machine off or reboots it. Stopping or suspending a job ends only that job.
- Portal bills nothing for your machine. Its cost in Portal is your own hourly estimate, $0 if you set none.
Enroll a machine
Ask Portal for an install command, on any machine where you are signed in:
portal machine command --name workstationor in the console: Connections, Add connection, Your machine. The name is up to 24 lowercase letters, digits and hyphens; without one, the machine's host name is used.
Run the command it prints on the computer you are adding, as the user whose account the jobs should use. It installs the CLI if needed, enrolls the machine with its single-use code and starts Portal's agent as a service (a systemd unit on Linux, a launchd agent on macOS).
The computer prints a pairing code such as ABCD-EFGH. Approve the machine in the console with that code. Until it is approved, it connects and reports its hardware but takes no jobs.
Options for the install command, after sh -s --:
| Option | What it does |
|---|---|
--name NAME | the machine's name |
--no-service | install no service; run portal machine run yourself |
--system | Linux, as root: jobs run as a user of their own, portal, under /var/lib/portal |
--ssh-host-key SHA256:... | the machine's SSH host key, when it was enrolled through SSH |
Enroll through SSH
From a machine with SSH access to the one you add:
portal machine add gpu-host --name workstationThe SSH host must already work with key authentication and its known host key. Portal checks both, shows the host and its key, and asks before it installs anything; the code goes to the host on SSH's standard input, never in a command line.
Run jobs on it
portal run train.py --on machine.workstation --project demoYour machines also appear in portal prices and in quotes when they fit the job. portal machines lists them with their state: waiting, online, offline or revoked.
Look after the agent
On the machine:
portal machine status
portal machine uninstallportal machine uninstall suspends the jobs running there, then removes the agent and revokes the machine. For a --system install, run sudo portal machine uninstall --system.
To remove a machine from Portal:
portal machine rm MACHINE_IDThis is refused while a job runs there or is pinned to it. An Owner can revoke a lost or untrusted machine at once from the console's Machines page; jobs running there are stopped, and nothing saved there is used again.