Prized docs

Boxes.

A box is a dedicated Linux machine in the size you pick, from Nano to Extra Large. Create and manage boxes on the dashboard; connect to them with the CLI.

Create

Create boxes from the dashboard; the first one comes from onboarding, which offers the same choice of size. A new box boots in about a minute. Pick a size per box: the fleet can mix sizes freely, and each one meters at its own hourly rate, see Billing. A size the balance could not run for four hours is listed but cannot be picked; add funds and it unlocks, and a funded balance is required before anything provisions. With overage switched on, nothing is blocked: usage past your credit bills with the next invoice instead.

States

StateMeaning
runningUp and reachable. prized ssh lands in your session.
provisioningBeing created or booted. About a minute.
suspendedPaused. Compute is stopped; the disk stays.
wakingComing back from a pause.
deep sleepSuspended over 14 days: the disk is snapshotted and parked. Waking takes a few minutes.
resizingChanging size. Returns to running.
degradedThe box stopped reporting. It reboots itself and recovers; check the dashboard if it stays.

Pause and resume

Pause from the dashboard. The disk always survives a pause, on every size: files, installed tools, and git state are exactly where you left them, and billing drops to the sleep rate the moment you ask.

What happens to running processes depends on the size. Nano through Small boxes pause with a memory snapshot (hibernate): RAM is written to the encrypted disk, and resume restores it, so processes, tmux sessions, and half-finished builds pick up exactly where they left off. Medium and larger boxes carry too much RAM to snapshot quickly, so they take a clean stop instead: files survive, processes restart on resume.

You rarely resume by hand. prized ssh wakes a suspended box on connect and prints progress while it comes up.

Auto-pause

A box can pause itself. On the box's dashboard page, set Auto-pause to a window from 30 minutes to 24 hours, and the box pauses on its own once nothing has used it for that long. It is off by default and set per box.

The box judges idleness itself, so real work keeps it awake: typing or output in any terminal session, sustained CPU (builds, agents, test loops), and sustained network traffic all count as use. An agent grinding away in a detached session keeps the box up; a forgotten shell prompt does not. The shortest window is 30 minutes because that is how long the box waits before it calls itself idle at all. While a window is set, the box page shows how long the box has been idle so far.

An auto-pause is exactly a pause: billing drops to the sleep rate the moment it lands, the disk keeps everything, and what happens to running processes depends on the size, exactly as above. The box page's event list records each one. And since prized ssh wakes a suspended box on connect, the whole rhythm is hands-off: close the laptop and the box winds down on its own; type prized ssh tomorrow and it comes back.

Resize

Resize from the box's dashboard page. The box stops, changes size, and starts again, files intact. Sizing up also grows the disk to the new size during that same restart, so the extra space is there when the box comes back. Sizing down keeps the disk you have — disks never shrink — and it keeps costing its own sleep rate. Billing follows from that moment on: the box meters at the new size's rate, with nothing to prorate. You can resize to any size your balance can keep running.

Rarely, AWS makes a just-grown disk wait about six hours before it can grow again. If that window blocks a resize, the resize still lands at the new CPU and memory, and the disk grows by itself soon after — the extra space then shows up the next time the box restarts.

Snapshots

Snapshot a box's disk from the dashboard, and restore a snapshot into a new box whenever you want a copy of that moment. Snapshots are also your backups, so take one before risky changes. Synced projects already live on your Mac as well.

Environments

An environment is a named starting point for new boxes: environment variables plus a setup script that runs on first boot. Define one on the dashboard and pick it at create time. Editing an environment never touches a running box.

Several boxes

Every box has a hostname: generated, like box-3fa9, unless you name it at create time. A name you pick has to read like a hostname: lowercase letters, digits and hyphens, starting and ending with a letter or digit, up to 32 characters. Anything else is refused, because the name also tags this box's synced projects so they stay separate from another box's. prized ssh box-3fa9 connects to any of your boxes, and forwards that box's ports for the life of the session. Sync, status, and automatic port mirroring follow the box you set up with prized setup; to make a different box the default, run prized init --force and pick it.

The daemon serves one box at a time. If you point the CLI at a config for another box (--config <path> or PRIZED_CONFIG=<path>) while the daemon is running for your default box, every command notices that the daemon serves a different box and works directly with the box you asked for, printing one line on stderr: warning: prizedd is serving box "box-3fa9", not "box-71c2" — using direct mode for box-71c2 (the daemon serves one box at a time). You never need --direct for this. That covers prized status, prized sync ls/add/rm/pause/resume/flush/repair, prized ports ls, prized up, and the snapshot, restore, and resize flows.

Two things work differently:

  • prized ports toggle is refused (exit 4). Port mirrors live inside the daemon, and the running daemon's mirrors belong to the other box; --direct cannot help, since there would be no proxy to toggle. To mirror the second box's ports, make it the default with prized init --force.
  • prized doctor reports a warning on its daemon check, naming both boxes, instead of a clean pass.

prized status still lists the daemon as running and names the box it serves, and prized daemon status does the same. Each box's synced projects stay separate: sync commands only ever touch sessions belonging to the box in the config you pointed at, and the running daemon leaves the other box's projects out of its own listings and never touches them. One consequence: two boxes cannot both sync a project under the same name at once. The second prized sync add refuses and asks for --name.

Delete

Deleting a box is permanent: the machine and its disk are gone. Anything you synced is already on your Mac.

Something unclear or out of date?

On this page