local.link

Boxes

A computer in your own cloud, running Local Link. Connect your AWS or Google Cloud account once, and one command makes a machine there with lnk on it, signed in as you.

Needs: macOS or Linux with OpenSSH, your own AWS or Google Cloud account, and its CLI (aws or gcloud), which lnk cloud connect offers to install, and lnk auth login. Boxes are billed to your account by your cloud; Local Link bills nothing.

Quickstart

lnk up boxes                 # the cloud, box, vpn and accounts plugins
lnk auth login               # GitHub: your boxes are tagged as yours
lnk cloud connect aws        # your aws login, or an access key; makes nothing in it
lnk box start aws            # aws-1: an Ubuntu machine, lnk on it, signed in as you
lnk box ssh aws-1            # a shell on it
lnk box list                 # your boxes, also those made on your other computers
lnk box stop aws-1           # stopped: its disk stays, and is billed
lnk box remove aws-1         # gone, with its disk

Connect a cloud account

lnk cloud connect aws                    # reuses your aws login, else asks for an access key
lnk cloud connect gcp                    # your gcloud login and project
lnk cloud list                           # the accounts you connected
lnk cloud disconnect aws                 # forgets it and its key; deletes nothing in it

The same account can keep your buckets: lnk bucket create aws --cloud aws makes one there.

Start a box

lnk box start aws                        # a new box, aws-1, after asking
lnk box start gcp --size e2-standard-4 --place europe-west1-b

You get Ubuntu 24.04 with 20 GB of disk, SSH as its only open port, and lnk with the plugins an agent needs. Then lnk auth login runs there: open the link it prints on your computer.

Get into a box

lnk box ssh                              # a shell on your only box
lnk box run aws-1 -- agent status        # one lnk command there

See your boxes

lnk box list                             # account, place, size, address, state
lnk box list --refresh                   # ask each cloud for each box's state first

list asks each connected account for the boxes tagged as yours, so it finds those you made on your other computers too.

Get in from a new computer

lnk auth login
lnk cloud connect aws
lnk box list                             # finds your boxes by their tags
lnk box ssh aws-1                        # lets this computer in through your account

Stop or remove a box

lnk box stop aws-1                       # its disk stays, and is still billed
lnk box start aws-1                      # running again, at a new address
lnk box remove aws-1                     # deletes the machine and its disk, after asking

Removing the last box in a region or project also deletes what Local Link made there for boxes.

What works

Every flag: lnk box <command> --help, lnk cloud <command> --help.

Rather not set up a cloud account? Join the waitlist for Link's cloud.