ironwire / documentation

getting started

invite → root machine with a live URL. about two minutes.

everything happens over SSH. no web signup, no password, no browser dashboard: your SSH key is your account. you need a terminal, an SSH key, and an invite password from whoever runs your ironwire.

most things work three ways: a one-shot ssh command from your laptop, the ironwire CLI from inside any of your machines, or the interactive dashboard. each step shows every way that applies.

1. enroll

<SCREENSHOT: enrollment screen — the create/link/quit choice a new key sees>

no SSH key yet? make one:

$ ssh-keygen -t ed25519

connect. your key isn't known yet, so you land on the enrollment screen:

$ ssh dashboard@ironwire.sh
this SSH key isn't linked to an account.
  [c] create a new account
  [l] link this device to an existing account
  [q] quit

press c. enter the invite password. pick a handle, your public account name. handles are lowercase (a-z0-9-, 2 to 31 characters, starting with a letter) and immutable: your handle becomes part of every machine URL, so choose carefully.

you land straight in the dashboard. that's the whole signup.

note three attempts at the invite password, then the connection closes. signups closed? ask your admin.

2. create a machine

<SCREENSHOT: dashboard right after the first machine was created — one row, booting or running>

a machine is a real virtual machine: own Linux, disk, and IP, booted in seconds with default sizing. machine names follow the same rules as handles. see machines & lifecycle for images, sizes, and flags.

ssh

$ ssh dashboard@ironwire.sh create mybox
created mybox
  url: https://mybox.alice.ironwire.xyz
  ssh: mybox@ironwire.sh

cli

needs orchestration enabled:

$ ironwire create mybox
created mybox
  url: https://mybox.alice.ironwire.xyz
  ssh: mybox@ironwire.sh

dashboard

press n, name it, confirm. the list shows a spinner while it boots.

3. shell in

you're root inside your own VM. install packages, run services, do as you please.

ssh

$ ssh mybox@ironwire.sh
root@mybox:~#

cli

run a command on another machine directly:

$ ironwire run mybox -- uname -a
root@mybox:~#

dashboard

select the machine, press Enter: a framed shell with tabs (F5/F6), detach (F2), scrollback, and mouse support. file manager on f.

4. open its URL

every machine gets a live HTTPS URL: https://<machine>.<your-handle>.ironwire.xyz. it fronts port 8000 inside your machine by default. start anything that listens on 8000 and it's on the internet, TLS included:

ssh

$ ssh mybox@ironwire.sh 'python3 -m http.server 8000 &'

cli

$ ironwire cp ./start.sh mybox:/root/start.sh
$ ironwire run mybox -- bash /root/start.sh

(inline quoting is unreliable over run, so ship a script with cp and execute it.)

dashboard

select the machine, press Enter to open a shell, start your server there. the machine's URL is right in the list's URL column.

open https://mybox.<your-handle>.ironwire.xyz in a browser. the certificate is issued automatically on first visit. different port, extra ports, custom domains: see networking & urls.

where to next