RunClaw Docs
Guides

Custom Domains

Point your own domain to your AI agent instead of using the default runclaw.run subdomain.

By default, your agent is available at {slug}.runclaw.run. If you want to use your own domain (like agent.yourcompany.com), you can set that up.

How it works

Your RunClaw VPS runs Caddy as a reverse proxy. Caddy automatically provisions TLS certificates from Let's Encrypt for any domain that points to your server. There's nothing to configure on the server side — just point your DNS and Caddy handles the rest.

Setup

Get your server's IP address

Find your server IP on your RunClaw dashboard. Click on your instance — the IP is shown in the details panel.

Add a DNS record

Go to your domain's DNS settings (at your registrar or DNS provider like Cloudflare, Namecheap, etc.) and add an A record:

TypeNameValueTTL
Aagent (or whatever subdomain you want)YOUR_SERVER_IPAuto

For a root domain (yourcompany.com instead of agent.yourcompany.com), set the Name to @.

If using Cloudflare: Set the proxy status to DNS only (grey cloud icon). Caddy needs to handle TLS directly to provision Let's Encrypt certificates. If you leave the orange cloud (proxied) on, TLS will conflict.

Update Caddy configuration

SSH into your server and edit the Caddyfile to add your domain:

ssh root@YOUR_SERVER_IP
nano /opt/openclaw/Caddyfile  # or /opt/agent-zero/Caddyfile

Add a new site block for your domain that proxies to the same backend as the existing {slug}.runclaw.run block. Then reload Caddy:

docker exec caddy caddy reload --config /etc/caddy/Caddyfile

Caddy will automatically provision a Let's Encrypt TLS certificate for your domain. This happens within seconds.

Verify

Open https://agent.yourcompany.com in your browser. You should see your agent with a valid HTTPS certificate.

DNS propagation can take anywhere from 30 seconds to 48 hours depending on your DNS provider and TTL settings. Most propagate within a few minutes.

Keep both domains

After adding a custom domain, your original {slug}.runclaw.run URL continues to work. You don't need to choose — both domains point to the same agent.


Back to Getting Started

On this page