Custom domains
Any hostname you control — app.example.com — can carry your endpoints, the way it works on ngrok: devgate
gives the domain a CNAME target of its own, you point the name at it, and once DNS shows the record the domain is verified and gets a
certificate.
Adding one
- In the dashboard, open Domains → New Domain and type the full name, e.g.
app.example.com. - Create the record shown:
CNAME app.example.com → <id>.cname.devgate.run. - Press Verify, or wait — devgate re-checks pending domains every few minutes and activates them on its own.
Then start an endpoint on it:
$ devgate http 8080 --url https://app.example.com or create a cloud endpoint on it in the dashboard. The first HTTPS request triggers the certificate, which takes a few seconds; later ones are instant.
Wildcard domains
Add *.example.com and one DNS record covers every subdomain: a wildcard CNAME,
*.example.com → <id>.cname.devgate.run. Then:
devgate http 8080 --url https://*.example.comanswers on every subdomain that has no endpoint of its own;devgate http 3000 --url https://shop.example.comtakes one name under it — the most specific endpoint always wins;- each subdomain gets its own certificate on its first HTTPS request, so there’s no wildcard certificate to manage.
Why a target per domain
The CNAME target is unique to your domain, so pointing a name at devgate proves it’s yours: nobody else can claim a hostname whose DNS names your target. Remove the record and the domain stops resolving to us; delete the domain under Domains and it stops routing.
Questions people actually ask
No. Once the domain is verified, devgate gets a Let’s Encrypt certificate for it on the first HTTPS request and renews it on its own.
Yes. An apex can’t have a CNAME, so prove ownership with a TXT record at _devgate.example.com holding the target, and point the apex at us with your DNS host’s ALIAS, ANAME or CNAME-flattening record.
Pay-as-you-go. Free and Hobby have the dev domain, and Hobby can reserve branded names under our zones.