runlot

Custom domains

Set up a CNAME and a TXT record to reach your app on a domain you own.

runlot domain add app.example.com

Running the command tells you which DNS records to create.

Add these two lines to your DNS:

  CNAME  app.example.com  →  apps.runlot.app
  TXT    _runlot-verify.app.example.com  →  <token>

The CNAME connects your app and the TXT record verifies domain ownership. Once your DNS changes have propagated, run `runlot domain verify app.example.com` to check right away; the system also checks automatically every minute.

With only the TXT record, ownership is verified but traffic won't reach your app. Create both the CNAME and the TXT record.

Viewing status

runlot domain list
Host                  Type     Status
app.example.com       custom   connected
my-app.me.runlot.app  default  connected

The default row is the address every project gets.

StatusMeaning
verifyingWaiting for the DNS records to propagate.
issuing certificateOwnership is verified and the TLS certificate is being issued.
connectedYour app is reachable at this address.
errorrunlot domain list shows the reason for the error.

Traffic is only routed to addresses whose status is connected.

Checking right away

runlot domain verify app.example.com

The system checks automatically every minute. If you just created the DNS records, use this command to check immediately.

Disconnecting

runlot domain rm app.example.com

The command asks for confirmation. Once disconnected, your app is no longer reachable at that address.

TLS

TLS certificates are issued and renewed automatically. There is nothing for you to manage.

Restrictions

  • You cannot connect *.runlot.app or *.runlot.dev subdomains.
  • Wildcard hosts (*.example.com) are not supported.
  • Internationalized domains are normalized to punycode.
  • Custom domains are HTTP only. For psql, connect to the project's wire address (<project>--<org>.wire.runlot.app) instead of your custom domain.

Why ownership is verified separately

Without TXT ownership verification, someone could register a domain they don't own before its real owner does. To prevent that, runlot verifies domain ownership as an additional step.

On this page