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

App URL

After a deployment succeeds, Keelson automatically assigns the app a standard public URL. This page explains how that URL is formed, where to find it, and how access to it is protected.

The standard app URL has this form:

https://{workspace-slug}--{app-slug}.keelson.run

For example, an app with the slug dashboard in the acme workspace receives:

https://acme--dashboard.keelson.run

The app slug comes from the slug field in keelson.yaml. The workspace slug is managed in the workspace settings. Together they make the hostname unique across Keelson.

You can find the app URL in these places:

  • Keelson console — The app details page displays the URL.
  • Deployment result — The CLI reports the URL when deployment completes, and an AI agent can pass it back to you.

You can copy the URL and share it with team members who should have access.

Share the app URL separately with App Users. They cannot open the console, so copy the URL from one of the places above and send it to them — otherwise they have no way to learn it.

Keelson provides the app’s own public origin to the running process as KEELSON_APP_URL. Use it when the app must construct an absolute callback or redirect URL.

Do not derive the public origin from an internal service hostname. Read KEELSON_APP_URL, or use a relative URL when the browser already knows the current origin.

Access to an app URL is restricted to authorized users by default. All connections use HTTPS, and Keelson manages the TLS certificate; you do not need to request or renew one.

IP restrictions can add a network-level check before a request reaches the app. Authentication and IP restrictions remain in effect when users follow the standard URL.

For details, see:

The standard hostname contains both the workspace slug and the app slug. Changing either slug can therefore change the URL. Treat the URL as configuration rather than embedding it throughout your source code.

When another system needs a callback URL, copy the current value from the console and update that system if the app URL changes.

The Team plan lets you publish an app at your own subdomain, such as app.example.com. A workspace can register up to 10 custom domains, with one custom domain per app. Apex domains such as example.com and email domains are not supported.

Configure a custom domain in this order:

  1. As an Owner or Admin, register the domain in the app settings in the console, or run keelson domains add <hostname> [--app <slug>]. Keelson then displays the CNAME target to use.
  2. At your DNS provider, point the registered subdomain’s CNAME to the displayed target. The production target is custom-origin.keelson.run; always use the value shown in the console or CLI.
  3. Check the status in the console, or run keelson domains verify <hostname> [--app <slug>], to confirm that the domain is active. Activation can take a few minutes.

Keelson automatically verifies domain ownership, issues the HTTPS certificate, and configures traffic delivery. Authentication and IP restrictions also apply through the custom domain. KEELSON_APP_URL continues to contain the standard keelson.run URL.