Publish Your App (Go Live / Supero Cloud)
Go Live publishes your generated app to a permanent, Supero-hosted URL — no cloud account, no infrastructure to configure. This page covers the Supero Cloud path: how preview and live differ, how long a preview lasts, what the deploy contract is, and how to take an app back offline.
Before You Publish
⚠️ Publishing is not the same as being ready for real users
Overview
https://live-{domain}-{project}.supero.live🚨 You cannot point your own domain at a published app
ℹ️ App hosting vs. self-hosting the platform
What Actually Gets Hosted
Your users' browser --HTTPS--> https://live-{domain}-{project}.supero.live (UI, hosted by Supero)
|
+--/api, /ai--> api.supero.dev (auth, data, services, AI)Preview and Live Are Two Separate Deployments
| Preview | Live (published) | |
|---|---|---|
| Service name | preview-{domain}-{project} | live-{domain}-{project} |
| URL | https://preview-{domain}-{project}.supero.live | https://live-{domain}-{project}.supero.live |
| Started by | Launch preview, from App Studio | Go Live |
| Lifetime | 30 minutes, measured from the moment the app becomes reachable | Permanent — no expiry |
| Idle behaviour | One instance is kept warm for the whole lease | Scales to zero; the next request wakes it |
| Stopped by | Stop preview, or the sweeper when the lease runs out | Take offline — nothing automatic |
| Purpose | A quick look while you are iterating | A permanent URL to share with real users |
💡 Stopping a preview cannot take your live app down
How Long a Preview Lasts
⚠️ This is a fixed lease, not an inactivity timeout
- •Relaunching a preview after it expires is fine and gives you a fresh 30-minute lease. It rebuilds, so it is not instant.
- •A domain can have at most 5 previews running at once across all its projects.
- •On a free or trial plan you get one running preview per project. Launching a second returns a quota response rather than starting a build.
- •Launching a preview on a project that is currently published returns a conflict rather than quietly demoting the live app.
Prerequisites
- •A plan with a live-deployment allowance. Live deployments start at Starter — Trial and Basic are preview-only. See Plans & Billing. Going live with no allowance left returns a 402 upgrade prompt instead of starting a build.
- •A Supero login with permission to update the project (project_admin or domain_admin). Non-admin callers are pinned to their own project.
- •An app that has already been generated in the project — at least one completed build. Go Live publishes a specific bundle, identified by its generation and file id.
💡 No cloud account needed
Going Live
- 1
Open Go Live
From the app card in App Studio, click Go Live.
- 2
Choose Supero Cloud
Three targets are offered — Supero Cloud, Amazon AWS, and Google Cloud. Pick Supero Cloud. A project that has already been deployed is pinned to its original provider, so you do not accidentally leave an orphaned service running in another cloud.
- 3
Confirm
Publishing counts against your plan's live-deployment allowance.
- 4
Wait for the panel
The deploy starts in the background and the panel polls every few seconds until the app is serving, then shows the permanent URL.
curl -s -o /dev/null -w "%{http_code}\n" https://live-{domain}-{project}.supero.live/How a Deploy Progresses
| Status | What it means |
|---|---|
| none | No deployment has ever existed for this lane. |
| launching | The build is running. This is written before the work starts, so it appears immediately. |
| running | The service is serving and its URL is set. |
| failed | Something in the pipeline failed. A reason is recorded with the status. |
| stopped | Explicitly torn down — Stop preview, or Take offline. |
| expired | A preview whose 30-minute lease ran out and was swept. |
- •The build is capped at 8 minutes for a web app, and 15 minutes when mobile output is included. Past that the build is abandoned and the deploy is marked failed.
- •After the image is built, the Cloud Run rollout has its own 6-minute budget with a further recovery poll and two retries for transient errors.
- •The last step is making the service publicly invocable. That permission takes 30 to 90 seconds to propagate, so the platform polls until the URL genuinely answers an anonymous request before reporting the deploy done.
- •Status is reconciled against the real service on every poll. A launching record whose service never appeared is flipped to failed rather than spinning forever, and an expired lease is flipped to expired.
Verifying Your Live App
- •The page loads with your app's real branding, not a blank shell or an error banner.
- •Any catalog, feed, or listing page shows real records, not empty cards.
- •You can sign up or log in as an end user.
- •A create action (add a record, place an order) persists after you reload the page.
💡 The panel checks the version, not just the state
Viewing Deploy Logs
- •It returns 200 log lines by default, up to a maximum of 500 per request.
- •It looks back one hour by default, up to a maximum of 24 hours.
- •You can filter by severity.
- •Responses are cached for 8 seconds, and queries are rate limited to 30 per minute per domain — a burst past that returns 429 with a Retry-After header. Auto-refresh is off by default for the same reason.
ℹ️ This is Supero Cloud only
Taking an App Offline
- •It deletes the live Cloud Run service, which stops the app answering and ends its cost.
- •It clears the project record: the project returns to dev, the live URL is cleared, the deployment provider resets, and the app is de-listed from the public directory.
- •Returning the project to dev is what lets you edit and rebuild again — see Managing a Live App below.
- •It does not touch data. Schemas, records, tenants, and users are untouched by publishing and by unpublishing.
💡 The result is honest
⚠️ It will not clear a record pointing at your own cloud
Managing a Live App
- •Redeploying: publish new changes with Publish update, or by going through Go Live again. It builds and replaces the running app in place — the service name and URL do not change.
- •Protecting the running app: while a project is in live mode, destructive rebuilds are blocked. Return the project to dev to edit and rebuild, then publish again.
- •Removing a deployment: Take offline, as above.
⚠️ The build lock is a separate toggle from the deployment
Troubleshooting
| What you see | Likely cause / fix |
|---|---|
| Upgrade prompt instead of a deploy starting | Your plan has no live-deployment allowance left. Trial and Basic are preview-only; live deployments start at Starter. See Plans & Billing. |
| Preview vanished while you were using it | Previews run on a fixed 30-minute lease from the moment they became reachable, and a sweeper reclaims them every 15 minutes. Traffic does not extend the lease. Relaunch for a fresh one, or publish with Go Live if you need it to stay up. |
| The panel never leaves an in-progress state | Check Cloud Deploy Logs for the build. A build that exceeds its cap (8 minutes web, 15 with mobile) is abandoned and the status flips to failed. A launching record whose service never appeared is also reconciled to failed on the next poll. |
| Deploy reported success but the URL 403s for a few seconds | Public access is granted as the last step and takes 30 to 90 seconds to propagate. The platform waits for the URL to answer anonymously before reporting done, so this should be brief. If it persists, redeploy. |
| App loads but pages are empty | The project may not have been seeded, or the build did not finish generating. Confirm the app build completed, then publish again. |
| First request after a while is slow | A published app scales to zero when idle, so the first request after a quiet period cold-starts the container. This is expected. Previews behave differently — they keep one instance warm for the life of the lease. |
| The panel will not let you rebuild | The project is in live mode. Return it to dev from the dashboard before making destructive changes, then publish again. |
Driving It Programmatically
POST /api/v1/preview/project/{domain}/{project}/launch -> 202 {status, service_name, ttl_minutes, poll_url}
GET /api/v1/preview/project/{domain}/{project} -> preview lane status
DELETE /api/v1/preview/project/{domain}/{project} -> stops the PREVIEW only
POST /api/v1/preview/project/{domain}/{project}/go-live -> 202 {status, public_url, service_name, poll_url}
GET /api/v1/preview/project/{domain}/{project}/go-live -> live lane status
DELETE /api/v1/preview/project/{domain}/{project}/go-live -> {stopped} — unpublish
GET /api/v1/preview/project/{domain}/{project}/logs -> recent container logs🚨 Poll the poll_url you were handed, not the bare project path
- •402 — plan gate. No live-deployment allowance left.
- •409 — launching a preview would conflict with a live deployment on this project.
- •429 — log queries only, when the per-domain rate limit is exceeded. Honour the Retry-After header.
- •401 on unpublish — the token carries no session. Unpublish deliberately refuses to run as a bare platform-admin token; call it as a signed-in user.
From an MCP client
Next Steps
- •Choosing a Deployment Option — a side-by-side comparison of Supero Cloud, your own AWS or GCP, and self-hosting the platform.
- •Deploy to Your Own AWS or GCP — publish the same app into your own cloud account instead.
- •On-Premise Deployment — self-host the platform for data-sovereignty or air-gapped requirements.
- •Plans & Billing — how live deployments count against your plan.
- •Contact — production launches and capacity questions go to [email protected].
On this page