Commands
The whole CLI fits on one screen.
Commands
| Command | What it does |
|---|---|
suped |
Open a shell in your computer. Creates it on first run. |
suped up |
Start the computer without attaching. |
suped exec <command...> |
Run a command line inside, in ~/workspace, as a login shell. |
suped status |
Show image, home volume, and container state. |
suped stop |
Stop the container. Home is kept. |
suped reset |
Recreate the container from the current image. Home is kept, apt installs are not. |
suped rebuild |
Rebuild the image, then reset. Add --no-cache to start from scratch. |
suped destroy --yes |
Remove the container and the persistent home. |
suped prompt |
Print the system prompt. |
suped --version |
Print the version. |
suped --help |
Print this table, roughly. |
Options
Used when the container is first created, and by reset and rebuild:
| Option | Meaning |
|---|---|
-p, --publish <host:container> |
Publish a port. Repeatable. |
-v, --volume <host:container> |
Mount an extra host path. Repeatable. |
Both are passed straight through to docker run, so anything Docker accepts works.
Environment
| Variable | Default | Purpose |
|---|---|---|
SUPED_CONTAINER |
suped |
Container name. Change it to run several computers. |
SUPED_VOLUME |
suped-home |
Home volume name. |
SUPED_IMAGE |
suped-computer:<version> |
Image tag. Point it at your own build. |
exec
suped exec joins its arguments into one shell line and runs it with bash -lc, so quoting, pipes, and environment work as they would in a shell:
suped exec 'cd projects/app && npm test 2>&1 | tail -20'
Stdin is forwarded when it isn’t a terminal, so you can pipe into the computer:
cat notes.md | suped exec 'cat > workspace/notes.md'
The exit status is the command’s exit status.
Exit codes
suped exits 0 on success, 1 on any error, and with the inner command’s status for exec and the shell.