osw-studio / docs /CUSTOM_DOMAINS.md
otst's picture
static deployment serving, custom domain routing API, preview init and Svelte/Vue compilation fixes, checkpoint and chat panel fixes
d92d038
|
Raw
History Blame Contribute Delete
2.02 kB

Custom Domains

Setup (2 steps)

  1. In OSW Studio, go to Deployment Settings and enter your domain (e.g., sweetcandies.com)
  2. In your DNS provider, add an A record pointing to your OSW Studio server's IP address

That's it. The server handles SSL certificates automatically via Let's Encrypt.

How It Works

When you publish a deployment with a custom domain:

  1. OSW Studio registers the domain in its routing table
  2. The reverse proxy (Caddy) intercepts requests to your domain
  3. Caddy provisions an SSL certificate automatically (on-demand TLS)
  4. Requests are routed to your deployment's static files
  5. /api/ paths (edge functions, analytics) pass through without rewriting

What OSW Studio Handles

  • Domain registration in the routing table
  • Root-relative asset paths when a custom domain is set
  • SEO meta tags, sitemaps, and canonical URLs using your domain
  • Analytics origin validation for your domain

What OSW Studio Does Not Handle

  • DNS configuration (you add the A record)
  • SSL certificates (Caddy handles this automatically)
  • Domain purchase or registration

For Self-Hosted Instances

Your OSW Studio instance needs a reverse proxy with TLS support. See docs/SELF_HOSTED_DOMAINS.md for API endpoints and proxy requirements.

For Hosted Instances (oswstudio.com)

Custom domains are handled automatically by the platform. Just add your DNS A record.

Troubleshooting

Site not loading after adding DNS

  • DNS propagation can take up to 48 hours (usually minutes)
  • Verify your A record: dig sweetcandies.com should show the server IP
  • The first request may take a few seconds while the SSL certificate is provisioned

SSL certificate not working

  • Ensure your DNS A record points directly to the server IP (not through a proxy)
  • Caddy needs port 80 and 443 open for Let's Encrypt HTTP-01 challenges

Assets loading from wrong path

  • Republish your deployment after setting the custom domain
  • The asset path rewriting only takes effect on publish