App status and logs
App status
Section titled “App status”The app list and app page in the console show the status as a badge.
| Status | Meaning |
|---|---|
| Active | The app is running. It uses one App Slot |
| Sleeping | The app is deployed but stopped. It starts automatically when accessed and does not use an App Slot |
| Published | A static site or SPA that is not manually suspended. It has no process and is served from the edge |
| Suspended | The app was stopped manually. It does not start or become available again when accessed. Its data, URL, and settings are retained |
| Starting / Deploying | The app is transitioning between states |
| Not deployed | The app has been created but has not been deployed yet |
| Error | The latest deployment or execution failed. The app page shows the cause |
| Deleting | The app is being deleted. It disappears from the list when deletion finishes |
| — | An app that only runs Scheduled Jobs. It has no running or sleeping state |
Apps stop automatically when idle (sleep) and start when accessed. Only apps accessed in the last 5 minutes count against your App Slots. If you access a sleeping app while no slot is available, an HTTP 503 information page appears (a slot becomes available in about 5 minutes).
Suspend and resume
Section titled “Suspend and resume”To stop an app temporarily, select Settings → Suspend on the app page. You can suspend static sites and SPAs as well as apps with a server. A suspended app does not start in response to access, a webhook, or a cron, and its static files are not served. Keelson’s standard URL shows the existing suspension page, and serving from custom domains also stops. Data, URLs, and settings are not deleted.
Select Resume in the app page header to resume the app. If you deploy a static site or SPA while it is suspended, it remains suspended and returns to serving only after you explicitly resume it. Stopping and resuming static-file serving takes effect asynchronously, so the serving state may take a short time to change after the operation.
Priority start
Section titled “Priority start”Turn on Priority start in the app page header to reserve one App Slot at all times. This prevents the app from being unable to start because all slots are in use.
- This setting does not keep an instance running continuously. The app still stops when idle and starts when accessed
- On Plus and higher plans, you can enable it for up to one fewer app than the number of App Slots
View logs on the Logs tab of the app page.
| Type | Contents |
|---|---|
| App logs | The app’s standard output and standard error. You can switch between Web and cron. The tab shows the latest 200 lines, and an export can retrieve up to 5,000 lines |
| Access logs | Who accessed which path and when, and whether access was allowed or denied. You can filter by people, machines (app tokens), or webhooks |
| Deployment logs | Select View logs for a deployment on the Deploys tab. For a failed deployment, the end of the build or startup error is shown |
| Cron run history | The Scheduled Jobs tab shows the start time, result, duration, and logs for each run |
The retention period depends on your plan. See Plans and limits.
Use keelson logs to retrieve logs from the CLI. When giving logs to an AI
agent, the most reliable approach is to paste the output of
keelson logs app <slug> --json as-is.
Deployment history and rollback
Section titled “Deployment history and rollback”The Deploys tab lists previous deployments and lets you download the source and view logs for each deployment.
Use the CLI to return to an earlier deployment.
keelson rollback # Return to the previous successful deploymentkeelson rollback <deploy_id> # Return to the specified deploymentA rollback does not rebuild the app. It starts a new revision with the selected deployment’s image and settings. The current secret values are used. You cannot roll back while a deployment is in progress.
Redeploy in the app page header starts the latest successful deployment again with the same image. Use it to apply secret changes.
Delete an app
Section titled “Delete an app”Delete an app from Settings → Danger Zone. Approval in a browser is required. After approval, the app itself, its URL, and its execution slot are deleted promptly. This cannot be undone.
Database backups, files stored in Files, and a configuration record (app name, URL, cron definitions, and the names of environment variables and secrets) are retained in quarantine for 7 days after deletion. The app cannot be restored. Export any data you need before deleting it.