LanguageGB
App Deployment

Use your own domain with an app (external DNS)

If your domain is registered or managed outside CM Cloud, you can still point it to your deployed app by creating a CNAME record in your DNS provider. This applies to PocketBase, Node.js, Python, Laravel, and static site deployments.

What this means

What this means

When you buy an app hosting plan from CM Cloud, your app is automatically assigned a platform URL such as pb123o456.cmtestcloud123.biz (for PocketBase) or app123o456.cmtestcloud123.biz (for other runtimes). This URL always works. If you want visitors to reach your app at your own domain, you create a CNAME DNS record that points your domain to the platform URL. CM Cloud handles the proxying, nginx routing, and SSL on its end — you only need to manage the DNS record in your provider's control panel. Note: PocketBase is deployed at a pocketbase. subdomain of your root domain (e.g. pocketbase.yourdomain.com), not the root itself, so your main website at yourdomain.com stays untouched.

Before you start

Before you start

Have your platform URL ready — it is shown on the service detail page in the portal after provisioning. Also have access to your domain's DNS control panel (Cloudflare, Namecheap, GoDaddy, Route 53, or any other provider). DNS changes can take up to 24 hours to propagate globally, though most providers complete within minutes.

Step-by-step guidance

Step-by-step guidance

  1. Open your service in the portal and note the platform URL (e.g. pb123o456.cmtestcloud123.biz). This is the CNAME target you will point your domain to.
  2. For PocketBase: log in to your DNS provider and create a CNAME record with name pocketbase (giving you pocketbase.yourdomain.com) and value set to your platform URL. Do not use the root domain — pocketbase. prefix is required.
  3. For other runtimes (Node.js, Python, Laravel, static): create a CNAME record with the subdomain you want to use (e.g. app or www) pointing to your platform URL. If you want the root domain (yourdomain.com), create an ALIAS or ANAME record if your DNS provider supports it, or use a www redirect.
  4. If your DNS provider is Cloudflare: after creating the CNAME, ensure the SSL/TLS mode in your Cloudflare dashboard is set to Full (not Full (strict)). Go to SSL/TLS → Overview and select Full. Do not use Full (strict) — our server uses a self-signed certificate and Full (strict) requires a CA-issued certificate, which will cause a 526 error.
  5. If your DNS provider is not Cloudflare: just save the CNAME record. No SSL mode configuration is needed on your side — CM Cloud handles SSL termination automatically.
  6. Wait for DNS propagation. Use https://dnschecker.org to verify your CNAME is resolving correctly from multiple locations.
  7. Visit your custom domain to confirm the app loads. For PocketBase, also visit pocketbase.yourdomain.com/_/ to access the admin dashboard.
  8. Apex/root domains (example.com with no subdomain): most DNS providers don't allow a plain CNAME at the root. Use your provider's ALIAS / ANAME / CNAME-flattening record type pointing to your app's platform URL, or use a subdomain (e.g. app.example.com) which accepts a normal CNAME. Tip: if you register or transfer the domain to CM Cloud, apex setup is fully automatic — we create and manage the root record for you, including replacing an existing one.

What CM Cloud support will review

What CM Cloud support will review

Support verifies the CNAME target, nginx server_name alias, Cloudflare SSL mode (if applicable), and that the app process is running and reachable at the custom domain.

What is not automated yet

What is not automated yet

This guide does not create DNS records on your behalf, change your registrar settings, or modify your Cloudflare zone configuration. These steps must be performed in your own DNS provider's control panel. If your domain is managed by CM Cloud (nameservers pointing to our Cloudflare), this setup is handled automatically at purchase — you do not need to follow these steps.

Safety note

Safety note

Reading this article does not trigger payment, provisioning, DNS, registrar, Cloudflare, or provider changes.

Safe next action

Safe next action

Open the service detail page to get your platform URL, then log in to your DNS provider and create the CNAME record as described.

Contact Support