Computes
Add a Linux server
Install the uremot binary on a headless Linux server and enroll it as a Compute, with or without systemd.
Updated
A Linux server with no screen of its own becomes a Compute with the uremot binary: Linux on x86_64 or aarch64, with
Docker Engine installed. For a computer you sit at, use the desktop app
instead: Install and add a Compute.
In the Console, open Computes, press Add a Compute and choose Headless Linux server. Under Install as,
choose System service (needs sudo; recommended) or For the current user. The page prints the install and
enroll commands for your choice, with your workspace filled in.
1. Install#
As a system service, installed with a systemd unit:
curl -fsSL https://get.uremot.com | sudo sh -s -- --daemon
--> Detected platform: linux-x86_64
--> By installing you agree to the Software License Agreement: https://uremot.com/legal/software-license
--> Binary URL: https://releases.uremot.com/client/releases/latest/uremot-linux-x86_64
--> Downloading binary...
--> Downloaded uremot 1.1.0
--> Installed uremot to /usr/local/bin/uremot
--> Creating systemd unit at /etc/systemd/system/uremot-compute.service...
--> Service enabled (not started: enroll first, see below)
uremot 1.1.0 installed.
To host Instances on this machine, enroll it into a workspace by signing
in, which records you as its owner (approve the code it prints in your
browser):
sudo uremot compute enroll --sign-in
Enroll starts the service; it comes online within a few seconds.On a first install, if no container engine answers, the installer stops and says how to install one. Run it again
once Docker Engine is in, or add --no-containers to install without containers.
For the current user, without sudo:
curl -fsSL https://get.uremot.com | shThe binary installs to ~/.uremot/bin, and the machine is a Compute only while uremot compute run runs (step 3).
2. Enroll#
For a machine that's yours, sign in from the terminal and approve the code it prints in your browser. Run the command the Console's page prints: it names your workspace.
sudo uremot compute enroll --sign-in --workspace <workspace-id>Installed for the current user? Drop sudo. Without --workspace, the command works when your account sees one
workspace; when it sees more, it stops and lists them.
To share it with the workspace, choose Shared with your workspace on the Console's page instead. Members and their agents can then launch on it. Give it a Compute name and a Grant expiry, press Create enrollment grant, and run the command the page prints. It reads the grant from stdin, so the grant never appears in a process list or your shell history. From a script, pipe it in:
printf '%s' "$GRANT" | sudo uremot compute enroll --grant-stdinInstalled for the current user? Drop sudo here too.
3. Check it#
A system-service install starts the service when you enroll. For the current user, run uremot compute run and
keep it running. The Console's page ticks off Joined, Online and Can run apps as the machine connects. On
the machine:
uremot compute status
compute 01a1d4f2-8c3e-7b10-9a4d-2f6e8b1c3d05
owner 01a00000-0000-7000-8000-0000000000c1
organization 01a00000-0000-7000-8000-0000000000a1
workspace 01a00000-0000-7000-8000-0000000000b1
public nkey UDXU4RCSJNZOIQHZNWXHXORDPRTGNJAHAHFRGZNEEJCPQTT2M7NLCNF4
api origin https://api.uremot.com
session 01a1d4f3-0b27-7c44-8e19-5d0a7f3b2c61
connection epoch 1
inventory revision 4
disk engine root, volumes, writable layers, images: 182.4 GiB free of 251.0 GiB (72.7%), fine, floor 25.1 GiB
containers available (container engine 27.3.1)
service activeIt shows the machine's identity, whether a container engine answers, and whether the service runs.
Without systemd#
Install as root without --daemon, which puts the binary in /usr/local/bin:
curl -fsSL https://get.uremot.com | sudo shThen enroll as root, as above, and keep uremot compute run running under your init system. For OpenRC,
/etc/init.d/uremot-compute:
#!/sbin/openrc-run
command=/usr/local/bin/uremot
command_args="compute run"
command_background=true
pidfile=/run/uremot-compute.pid
export HOME=/root
depend() { need net; after docker; }Then rc-update add uremot-compute default and rc-service uremot-compute start. With runit, the same
exec /usr/local/bin/uremot compute run goes in /etc/sv/uremot-compute/run.
Everyday commands#
| Command | What it does |
|---|---|
uremot compute status |
The machine's identity, whether a container engine answers, and whether the service runs |
uremot update |
Installs the latest release after checking its signature; restart the service to run it |
uremot uninstall |
Removes the binary and the service, keeping the identity unless --purge |
Every command and flag: The uremot CLI.
If a machine's identity breaks, stop the service (sudo systemctl stop uremot-compute), then run
sudo uremot compute reset and sudo uremot compute enroll --sign-in. To keep its Compute record instead, create a
recovery grant on its page in the Console and run sudo uremot compute recover --grant-stdin.
Next: Connect a harness.