Custom Domains
Serve your project from a domain you own, with HTTPS provisioned for you.
Most projects start out reachable at a free your-project.spawned.app address with HTTPS already set up. A custom domain lets you serve from your own domain instead.
Before you begin
Custom domains are added at the organization level and provisioned inside one of your connected Clouds. You will need:
- A connected Cloud.
- A domain you control, or a subdomain of one, where you can edit records at your registrar.
1. Add the domain
Open your organization’s Settings → Domains and add the domain you want to use. Enter the domain name (for example example.com or app.example.com) and choose which Cloud it should live in.
- Use a root domain (
example.com) to serve your whole domain from Spawned. - Use a subdomain (
app.example.com) to leave the rest of your DNS untouched and delegate only that part.
Spawned will then set everything up for you on your selected Cloud, and present you with 4 nameservers.
2. Delegate with nameservers
Prove you own the domain by pointing it at Spawned’s nameservers at your registrar. This is the only DNS change you need to make. Once delegation is live, Spawned manages the records inside the zone for you.
- Root domain: replace your domain’s nameservers with the four shown in Settings.
- Subdomain: add four
NSrecords for the subdomain (for exampleapp), one for each nameserver.
If your registrar offers a proxy option, turn it off so the records resolve directly. Nameserver changes usually propagate within 5-30 minutes, but can take up to 24 hours.
Guides for common registrars are at the bottom of this page.
3. Verification and certificates
Spawned checks the delegation and issues TLS certificates on its own. The status advances through these states:
| Status | Meaning |
|---|---|
| Waiting for nameservers | Delegation not detected yet. Confirm your records point to the nameservers shown in Settings. |
| Issuing certificates | Delegation confirmed. A TLS certificate is being issued for your domain. |
| Verified | The domain is ready to attach to a project. |
| Failed | Something went wrong. Delete the domain and add it again to retry. |
4. Attach the domain to a project
A verified domain is added to the project from the project itself, either through the infrastructure canvas or your favorite agent.
- Open the project and add an External/Imported Domain to the canvas.
- Select your verified domain. Only domains verified on the same Cloud as the project are available.
- Set the hostname you want to serve, for example
app.example.comorwww.example.com. - Connect the Imported Domain to the component that should receive traffic, usually your container. You can also point it at a load balancer or CDN.
- Apply the change. Spawned adds the records for that hostname inside your zone and attaches the certificate. The domain goes live once the deployment finishes.
You can attach more than one hostname by adding an Imported Domain for each. Each hostname is wired to whichever component you connect it to.
Configure DNS at your registrar
The nameserver changes above are made wherever your domain’s DNS is managed. Find your provider for step-by-step instructions.
• Cloudflare • GoDaddy • Namecheap • AWS Route53 • Squarespace • Porkbun • Hover
Troubleshooting
- Stuck on “Waiting for nameservers”: the delegation has not propagated or points to the wrong values. Recheck your records against Settings, confirm any proxy is turned off, and verify propagation with a tool like dnschecker.org.
- Certificate not issuing: if your domain has a
CAArecord, make sure it allows Amazon to issue certificates. - Changing a domain: editing a connected domain takes a few minutes to take effect. The previous address keeps working until the change completes.