- Preview a Vite, React, or Node app without deploying it to a hosting provider.
- Share a work-in-progress build with someone for review.
- Let an AI agent spin up a repo and verify it actually runs.
8000 on a Celesto computer running your app.
Before you start
You need:- The Celesto CLI installed and authenticated.
- The GitHub URL of a repo that runs as a web app (for example, a Vite or Node project).
- The repo’s install and start commands. If you don’t know them, the project’s
README.mdusually tells you.
Step 1: Create a computer
Create acoding-agent computer. This template comes with Node, npm, and git already installed, which is what most web apps need.
name from the output. The rest of this guide uses einstein as an example name — replace it with your computer’s name.
Step 2: Clone and install the app
Clone the repo into a fresh directory on the computer and install its dependencies.Step 3: Start the app on port 8000
Bind the app to0.0.0.0:8000 so Celesto can forward traffic to it. The exact command depends on the framework — these are the common ones:
setsid -f detaches the server from the shell session so it keeps running after the command returns.
If your app needs environment variables (API keys, database URLs, and so on), set them in the same command, for example:
setsid -f sh -c 'OPENAI_API_KEY=sk-... npm run dev -- --host 0.0.0.0 --port 8000 > /tmp/app.log 2>&1 < /dev/null'.Step 4: Verify the app is running
Before exposing the app publicly, confirm it is actually serving traffic inside the computer.HTTP/1.1 200 OK response. If you don’t, check the log:
Step 5: Publish port 8000
Expose port8000 to the public internet.
url field — that’s your public HTTPS link. Open it in a browser to confirm the app loads.
You can also list everything currently published for the computer:
Step 6: Clean up when you’re done
Public URLs are meant for short-lived previews. Unpublish the port and delete the computer when you no longer need them.Troubleshooting
The public URL returns 502 or won't load
The public URL returns 502 or won't load
The app probably isn’t listening on
0.0.0.0:8000. Re-run the verification curl from Step 4 and check /tmp/app.log for errors. Many frameworks default to localhost only — pass --host 0.0.0.0 or the equivalent flag.`celesto auth status` says I'm not logged in
`celesto auth status` says I'm not logged in
Run
celesto auth login and try again. If you’re running inside a sandboxed environment, your OS keychain may not be visible — re-run the CLI command from your normal shell.`npm install` fails or times out
`npm install` fails or times out
Increase
--timeout on the celesto computer run call. Large dependency trees can take several minutes on first install.Related
- Publish ports — the underlying primitive for exposing services from a computer.
- Computers — full reference for creating and managing computers.
- CLI reference — every
celestocommand and flag.
