docs/hosting/app-management.md
Open Deployments and select an app to manage it. Each hosted app has Deployment, Logs, History, Custom Domain, and Settings pages.
import reflex as rx
The Deployment page shows the live URL, status, current deployment, domains, backend URL, app preview, RAM, CPU, Reflex and Python versions, and regions.
Use Stop app to stop the running deployment. The app becomes unavailable until it is deployed or started again.
For a stopped app, select Start app to restart its latest deployment.
rx.image(
src="https://web.reflex-assets.dev/docs-preview/hosting/deployment.webp",
alt="A running deployment with its app preview and resource summary",
class_name="rounded-md h-auto mb-4",
border=f"0.81px solid {rx.color('slate', 5)}",
)
# CLI commands to stop or start an app
`reflex cloud apps stop [OPTIONS] [APP_ID]`
`reflex cloud apps start [OPTIONS] [APP_ID]`
Use Logs to search runtime output and filter by order, timezone, time range, and region. See Logs for the UI and CLI workflows.
Every deployment appears under History with its deployment ID, state, actor, and timestamp. Current identifies the live deployment; older entries are Historical.
rx.image(
src="https://web.reflex-assets.dev/docs-preview/hosting/history.webp",
alt="Current and historical deployments in the History page",
class_name="rounded-md h-auto mb-4",
border=f"0.81px solid {rx.color('slate', 5)}",
)
Select a deployment ID to open its detail page. It shows the deployment note, domains, backend URL, Reflex and Python versions, deployment statistics, and build logs.
A rollback redeploys a previous deployment's stored image and makes it current without rebuilding from source:
rx.image(
src="https://web.reflex-assets.dev/docs-preview/hosting/rollback_dialog.webp",
alt="Rollback confirmation comparing the current and target deployments",
class_name="rounded-md h-auto mb-4",
border=f"0.81px solid {rx.color('slate', 5)}",
)
Rollback requires permission to deploy. It is available only when Reflex still has a compatible image for the current hosting provider and hosting mode. Wait for any active deployment to finish first.
# Projects with deployment approval
Rollback is disabled while **Require approval to deploy** is enabled. Deploy the desired version through the normal approval workflow instead.
Use the same workflow from a historical deployment's detail page.
CLI equivalents:
reflex cloud apps history <APP_ID>
reflex cloud apps rollback <DEPLOYMENT_ID> --app-id <APP_ID>
reflex cloud apps build-logs <DEPLOYMENT_ID>
Add a note at deploy time to make History easier to scan:
reflex deploy --description "Update checkout validation"
On a deployment detail page, select Edit next to Notes to update it. From the CLI, run:
reflex cloud apps describe <DEPLOYMENT_ID> \
--app-id <APP_ID> \
--description "Update checkout validation"
Pass an empty description to clear the note.
Use Custom Domain to add a domain, copy the required DNS records, and check verification. See Custom Domains.
Settings contains five pages:
rx.image(
src="https://web.reflex-assets.dev/docs-preview/hosting/settings.webp",
alt="General settings for a hosted Reflex app",
class_name="rounded-md h-auto mb-4",
border=f"0.81px solid {rx.color('slate', 5)}",
)
Switching the hosting provider stops the app on its current provider. Redeploy it after the switch to bring it up on the new provider.
Delete an app from Settings > Danger, or from the CLI:
reflex cloud apps delete <APP_ID>
Deletion is permanent. Confirm the app ID before running the command.