Skip to main content
Every vly project gets a *.vly.app URL automatically. To use your own domain — yourapp.com, app.yourcompany.com, docs.yourapp.com — you’ll add it in vly’s dashboard and configure two DNS records at your provider. End-to-end: ~5 minutes including DNS propagation.

The fast path

1

In vly: add the domain

Open your project. Settings → Domains → Add domain. Enter the full domain (including subdomain): app.yourcompany.com.
2

vly shows you the DNS records to add

For a subdomain (app.yourcompany.com), it’s typically:For an apex domain (yourcompany.com), it’ll be ALIAS / ANAME or A records — see the apex section below.
3

At your DNS provider: add the records

Open your DNS provider’s dashboard. Find the DNS / Records section for your domain. Add the records vly showed you.Provider-specific guides: Cloudflare, Namecheap, GoDaddy, Google Domains.
4

Wait for propagation and SSL

DNS propagates within seconds to a few minutes (rarely up to 48 hours). Once vly sees the correct DNS, it requests an SSL certificate from Let’s Encrypt — usually completes in 10 seconds.The status in vly’s dashboard updates from “Pending DNS” → “Pending SSL” → “Active”.
5

Test

Open https://app.yourcompany.com. You should see your production app, served over HTTPS.
You’re live on your custom domain.

Apex domains

Apex domains (yourcompany.com without a subdomain) can’t use CNAME records — DNS rules forbid it. vly supports two options:
Some DNS providers (Cloudflare, AWS Route 53, DNSimple, Google Cloud DNS) support ALIAS / ANAME records that act like CNAMEs at the apex.Pick this if your provider supports it.
After adding the records, also add a redirect from www.yourcompany.com → yourcompany.com (or the reverse, your call). Most DNS providers offer this as a one-click setting.

Provider-specific guides

Cloudflare

1

Add the CNAME

DNS → Records → Add record. Type: CNAME. Name: app (or your subdomain). Target: cname.vly.app. Proxy status: DNS only (orange cloud OFF).
2

If using Cloudflare's proxy

For full Cloudflare features (DDoS protection, caching, page rules), you can leave the proxy ON. Just make sure SSL/TLS mode is set to “Full” (not “Flexible”) to avoid redirect loops. vly handles SSL on its end; Cloudflare handles SSL between you and the visitor.
3

For apex domains

Cloudflare supports CNAME flattening — you can set a CNAME at the apex and Cloudflare resolves it to A records automatically. So you can use the CNAME approach even for yourcompany.com.

Namecheap

1

Domain List → Manage → Advanced DNS

Click Add New Record.
2

Add the CNAME

Type: CNAME Record. Host: app (the subdomain part only). Value: cname.vly.app. (note trailing dot). TTL: Automatic.
3

For apex

Namecheap doesn’t support ALIAS records. Use the A record approach.

GoDaddy

1

My Products → DNS → Manage

Find the DNS records page for your domain.
2

Add the CNAME

Add → CNAME. Name: app. Value: cname.vly.app. TTL: 1 hour.
3

For apex

GoDaddy doesn’t support ALIAS. Use A records.

Google Domains / Cloud DNS

1

DNS → Custom records

For Google Cloud DNS, navigate to the zone for your domain.
2

Add the CNAME

Type: CNAME. Name: app. Data: cname.vly.app.
3

For apex

Cloud DNS supports ALIAS records (called “ALIAS” or “ANAME” in some UIs). For Google Domains, use A records.

Per-environment domains

You’ll often want production to use app.yourcompany.com and staging to use staging.yourcompany.com. Set this up:
1

In vly's project settings

Environments → Production. Add domain app.yourcompany.com.
2

In the staging environment

Environments → Staging. Add domain staging.yourcompany.com.
3

Configure DNS for both

Add CNAME records for both app and staging, both pointing to cname.vly.app. vly routes by hostname.

Multiple domains for one environment

You can attach multiple domains to the same deployment: In vly’s domain settings, mark one as Primary — others become redirects to it (or aliases if you toggle that).

SSL certificates

vly uses Let’s Encrypt for SSL certificates, automatically:
  • Provisioning is automatic when DNS resolves correctly.
  • Renewal is automatic — certs renew 30 days before expiry.
  • No manual cert handling required.
If you have a custom certificate (extended validation, wildcard from your existing CA):
1

Settings → Domains → [domain] → Certificate

Click “Use custom certificate”.
2

Paste the cert and key

Full certificate chain (including intermediate certs) and the private key.
3

Set up renewal reminders

vly doesn’t auto-renew custom certs. Set a calendar reminder for 30 days before expiry.
SSL certificates → for the full reference.

DNSSEC

vly’s domain layer is DNSSEC-aware. If your DNS provider supports DNSSEC and you’ve enabled it on your domain, vly’s CNAME / ALIAS resolution honors it correctly. No special configuration on vly’s side.

Common issues

DNS hasn’t propagated. Check your records with dig or whatsmydns.net. Common causes: typo in the CNAME value, wrong record type, or proxied through Cloudflare with the orange cloud ON when it should be OFF.
Let’s Encrypt is rate-limited. If a cert request fails (e.g., DNS hiccup mid-request), Let’s Encrypt may delay the next attempt by 1 hour. Wait, then click “Retry SSL” in vly’s domain settings.
Cert hasn’t been issued yet, or your browser cached an old cert. Try incognito; check vly’s domain status page.
Some asset on the page (image, script, font) is loaded over http:// instead of https://. Search your code for hardcoded http:// URLs and switch them to https:// or protocol-relative //.
If yourcompany.com should redirect to www.yourcompany.com (or vice versa), configure the redirect at your DNS provider, not in vly. Cloudflare’s “Redirect rules” or Namecheap’s “URL Redirect” type both work.
Domain DNS controls many things — email (MX, SPF, DKIM), web (A, CNAME), other services. Adding records doesn’t remove existing ones, but if you accidentally deleted MX records, your email will fail. Restore them. vly only needs the CNAME / ALIAS / A records for the specific subdomains it serves.

Removing a domain

1

In vly: Settings → Domains

Click “Remove” next to the domain. The domain stops serving immediately.
2

At your DNS provider: remove the records

The CNAME / ALIAS / A records you added. If you don’t, requests will go to vly’s servers and return a 404.
3

Wait for DNS propagation

Old cached entries can take up to TTL to clear (default 1 hour for most providers).

DNS setup

Per-provider deep guides.

SSL certificates

Custom certs, renewals, troubleshooting.

Environments

Per-environment domain routing.
Last modified on April 18, 2026