Custom domains
Point your own domain at Shiprr, attach it to an app, and let Shiprr handle HTTPS automatically.
edge.shiprr.dev CNAMEALIAS / ANAME / flatteningDNS only during setupUse the Shiprr target in your DNS provider. The dashboard shows the same target on each app's Domains tab.
How it works#
Every app gets a default Shiprr hostname such as my-app.shiprr.dev. You can keep using that hostname and attach
one or more custom domains on top of it. Custom domains are served from the
same production app, the Shiprr hostname stays active.
Attach a domain#
- Open your app in the dashboard.
- Go to Domains.
- Enter the domain you want to use, such as
app.example.com. - Attach the domain to the app.
You can also reuse an existing unassigned workspace domain from the same screen. A custom domain can only be attached to one app at a time.
DNS setup#
Shiprr gives every app a default hostname like my-app.shiprr.dev, but custom domains should point to the
Shiprr custom-domain target, for example edge.shiprr.dev.
This keeps your customer DNS stable even if Shiprr changes the underlying IPs later.
Subdomain: recommended#
For something like app.example.com, create a CNAME pointing to the Shiprr target.
app.example.com CNAME edge.shiprr.dev Root domain / apex#
For something like example.com, use the DNS provider ALIAS, ANAME, or flattened CNAME support if
it has one, and point it to the Shiprr target.
If your provider does not support ALIAS, ANAME, or CNAME flattening at the
apex, use a subdomain instead such as www.example.com or app.example.com.
Step by step#
- Add the custom domain in Shiprr first.
- In your DNS provider, create the record:
- Subdomain:
CNAME → Shiprr target - Root domain:
ALIAS,ANAME, or provider flattening → Shiprr target
- Subdomain:
- Wait for DNS to propagate.
- Open the domain over
https://. - Give TLS a minute or two to finish issuing.
Cloudflare#
You can use Cloudflare for DNS with Shiprr. The simplest setup is:
- Create the domain record in Cloudflare.
- Point it to the Shiprr target.
- Keep the record DNS only while setting it up.
- Add the domain in Shiprr and wait until it works over
https://.
If you later enable Cloudflare proxying, use Full (strict) SSL mode. Flexible SSL is the wrong mode here and can cause redirect or TLS problems.
If you do not specifically need Cloudflare proxy features, leaving the record as DNS only is the simpler setup.
When to enable proxy#
Start with DNS only. That gives the cleanest path for initial validation and certificate issuance. Only enable the orange-cloud proxy after the domain is already working in Shiprr.
WAF and security rules#
If you use Cloudflare proxying with WAF or custom firewall rules, make sure
requests to /.well-known/* are not blocked. Certificate
validation and renewal depend on that path staying reachable.
CAA records#
If your domain uses CAA records, make sure they allow sectigo.com.
Otherwise Shiprr may not be able to issue or renew the certificate.
If setup fails#
- Switch the record back to DNS only.
- Confirm the record still points to the Shiprr target.
- Check that Cloudflare SSL mode is Full (strict).
- Check that
/.well-known/*is not challenged or blocked.
What not to point at#
- Do not point custom domains at
my-app.shiprr.dev. - Do not point custom domains directly at temporary platform IPs.
- Do not proxy the Shiprr custom-domain target through another CDN unless you know how that affects certificate issuance.
TLS and SSL provisioning#
Shiprr provisions HTTPS automatically after the domain is attached and DNS is pointing at Shiprr. New domains can take a minute or two before the real certificate is issued. During that short window your browser may show a fallback certificate warning.
If the certificate still has not updated after a few minutes, check that:
- The domain is attached to the correct app.
- DNS has propagated to the Shiprr target.
- Port
80is reachable for certificate validation. - You are opening the domain over
https://.
Important behavior#
- Custom domains currently route to your production app.
- Your default
*.shiprr.devhostname remains available. - You can attach multiple custom domains to the same app.
- A single custom domain can only belong to one app at a time.
Common setup examples#
app.example.com CNAME edge.shiprr.dev
www.example.com CNAME edge.shiprr.dev
example.com ALIAS edge.shiprr.dev For the rest of the deploy flow, see Deploying apps. If HTTPS does not finish provisioning, see Troubleshooting.