Skip to content
Console →
Website →
Asking an AI? Paste this URL https://keelson.dev/llms.txt

App status and logs

The app list and app page in the console show the status as a badge.

StatusMeaning
ActiveThe app is running. It uses one App Slot
SleepingThe app is deployed but stopped. It starts automatically when accessed and does not use an App Slot
PublishedA static site or SPA that is not manually suspended. It has no process and is served from the edge
SuspendedThe app was stopped manually. It does not start or become available again when accessed. Its data, URL, and settings are retained
Starting / DeployingThe app is transitioning between states
Not deployedThe app has been created but has not been deployed yet
ErrorThe latest deployment or execution failed. The app page shows the cause
DeletingThe 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).

To stop an app temporarily, select SettingsSuspend 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.

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.

TypeContents
App logsThe 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 logsWho accessed which path and when, and whether access was allowed or denied. You can filter by people, machines (app tokens), or webhooks
Deployment logsSelect 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 historyThe 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.

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.

Terminal window
keelson rollback # Return to the previous successful deployment
keelson rollback <deploy_id> # Return to the specified deployment

A 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 from SettingsDanger 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.