app.yourcompany.com) instead of the default .pre.dev URL.
Prerequisites
Before adding a custom domain, your project must meet two requirements:- Deployed — Your app must have a live deployment with a
.pre.devURL - Public — Your app preview must be set to public (toggle this in the Share menu)
Step 1 — Add Your Domain
- Open your project dashboard
- Navigate to the Custom Domain section
- Enter your domain (e.g.,
app.example.com) - Click Add
Step 2 — Configure DNS
Add a CNAME record at your DNS provider pointing to the deployment URL:| Record Type | Host/Name | Value/Target |
|---|---|---|
CNAME | app.example.com | your-project.pre.dev |
The exact steps vary by DNS provider (Cloudflare, Namecheap, GoDaddy, Route 53, etc.). Look for “Add DNS Record” or “Manage DNS” in your provider’s dashboard.
Common DNS Provider Examples
Cloudflare:- Go to your domain’s DNS settings
- Click Add record
- Type:
CNAME, Name: your subdomain, Target: your CNAME target - Set proxy status to DNS only (gray cloud) for initial setup
- Go to Domain List → Manage → Advanced DNS
- Click Add New Record
- Type:
CNAME, Host: your subdomain, Value: your CNAME target
- Go to My Products → DNS → Manage
- Click Add under Records
- Type:
CNAME, Name: your subdomain, Value: your CNAME target
Step 3 — Verify
- Return to the Custom Domain section in your project dashboard
- Click Verify Connection
- pre.dev checks that your CNAME record is pointing correctly
- Once verified, an SSL certificate is automatically provisioned
.pre.dev URL. Both HTTP and WebSocket traffic are supported.
How It Works
- pre.dev creates a Kubernetes ingress rule for your custom domain
- SSL certificates are automatically provisioned and managed
- Traffic is routed to the same deployment as your
.pre.devURL - The app’s
PREDEV_DEPLOYMENT_URLenvironment variable is updated to reflect your custom domain
Limitations
- One custom domain per project — To add a different domain, remove the existing one first
- Subdomains only — Use
app.example.com, not bare domains likeexample.com(CNAME records require a subdomain) - No
pre.devsubdomains — You cannot add*.pre.devas a custom domain
Removing a Domain
- Click the trash icon next to your domain in the Custom Domain section
- Confirm removal
- The ingress and SSL certificate are cleaned up automatically
- Your app reverts to being accessible only at the
.pre.devURL
Troubleshooting
DNS not resolving
DNS changes can take up to 48 hours to propagate, though most providers update within minutes. If verification fails:- Wait a few minutes and click Verify Connection again
- Use a DNS lookup tool (like
digor dnschecker.org) to check if your CNAME record is live - Confirm you’re using a CNAME record, not an A record

