1. Build something that serves a port
preview.port reads 3000.
2. Publish it
published_url is the address to hand out. It is a Gobare address, so it stays
the same whatever happens to the machine behind it. See preview.
3. Leave it alone, then open it
Measured on production, on one session:
The last two rows are the lesson. What is on disk comes back. What is only in
memory may or may not. Write anything your app must not lose to a file or a
database in the workspace, and let a restart be boring.
The first visitor after a pause waits a moment — a second or two in this run —
while the machine wakes. Everyone after them does not.
How long it lasts
A published app pauses but is never reclaimed. An unpublished workspace is reclaimed after two hours of idleness, with a snapshot taken first; a workspace over 300 MB is not snapshotted, andnode_modules and .git are not part of
that snapshot. See limits.
Unpublish when you are done:
What a published address does not do yet
- No cookies, in either direction. An app that signs people in with a cookie session will not keep them signed in behind a published address.
- No WebSocket upgrades, and responses are delivered whole rather than streamed.
What was verified
The table above is one run against production on 2026-09-27: the build, the publish call and its reply, the pause observed throughGET /v1/sessions/{id},
the unauthenticated wake and its timing, and the SSH wake with a restarted
process. One run is a sample, not a promise — the timings are what happened, not
a service level. Reclamation after two hours was not exercised in this run.
Next
- Take over the machine the agent is working on
- How Gobare is different
- preview — the two addresses, and who can open each