Custom Domains·4 min read·

Connecting a custom domain

Bring your own domain in three DNS records — wildcard SSL provisioning is automatic.

By default your blog lives at <slug>.velocms.org. Custom domains are available on Pro and above — the setup is a single CNAME record and we handle SSL automatically.

Step 1 — Register the domain in admin

Go to Settings → Domain in your admin dashboard. Enter the domain you want to use (for example blog.example.com). We generate a verification target and a CNAME destination for you.

Step 2 — Add a CNAME record

In your DNS provider (Cloudflare, Google Domains, Namecheap, etc.), add a CNAME pointing your chosen subdomain to the destination we gave you. Set the proxy status to DNS-only if you are using Cloudflare — proxying will break SSL handshake.

Type:   CNAME
Name:   blog
Target: velocms-production.up.railway.app
Proxy:  DNS only

Step 3 — Wait for SSL

We request a Let's Encrypt certificate as soon as the CNAME resolves. Provisioning typically takes 30 seconds to 5 minutes. You can visit your domain and if you see a green padlock, you are done.

Apex domains (example.com without a subdomain) require a CNAME flattening feature like Cloudflare's. If your DNS provider does not support it, use a subdomain like www.example.com or blog.example.com instead.