Custom Domains
Give your Odoo environment a professional, branded web address like erp.your-company.com instead of the default system subdomain.
Custom domains require a Pro plan or higher.
What You Get Automatically
When you deploy an environment, the platform automatically provides:
- System Subdomain: Every environment gets a working address like
acme-production.apps.oec.sh - SSL Certificate: Automatic HTTPS encryption via Let's Encrypt
- Secure Connection: All traffic is automatically redirected from HTTP to HTTPS
No setup required - your environment is accessible immediately after deployment.
Two Ways to Add Custom Domains
OEC.sh offers two approaches for custom domains:
Option 1: Simple Custom Domain (Easiest)
Enter your domain directly in the environment settings. You manage DNS yourself.
- Go to your Environment → Settings → Domain tab
- Enter your domain in the Custom Domain field
- Save and redeploy
- Point your DNS A record to the server IP address
Best for: Users who prefer to manage DNS externally or use DNS providers not listed below.
Option 2: DNS-Managed Domains (Recommended)
Connect a supported DNS provider and let OEC.sh create and manage DNS records automatically.
Best for: Multiple environments, automatic DNS management, wildcard SSL certificates.
Supported DNS Providers
For DNS-managed domains, connect one of these providers:
| Provider | Credentials Needed |
|---|---|
| Cloudflare | API Token |
| AWS Route 53 | Access Key ID, Secret Access Key, Region |
| Azure DNS | Subscription ID, Resource Group, Tenant ID, Client ID, Client Secret |
| Google Cloud DNS | Project ID, Service Account JSON |
| DigitalOcean | API Token |
| Hetzner DNS | DNS Console API Token (separate from Cloud token) |
Hetzner Users: Hetzner Cloud and Hetzner DNS Console use different API tokens. Your Cloud account token will not work for DNS. Get a DNS Console token from dns.hetzner.com (opens in a new tab).
Setting Up DNS Providers
Quick Setup (Recommended)
If you have cloud accounts connected (AWS, Cloudflare, DigitalOcean, Azure, Google):
- Go to Settings → DNS Providers tab
- Look for Quick Setup from Cloud Accounts
- Click your cloud account name
- Select a zone (domain) from your account
- Optionally enable Wildcard SSL and configure subdomain
- Click Create
Manual Setup
For providers not in your cloud accounts:
- Go to Settings → DNS Providers tab
- Click Add Provider
- Select your provider from the dropdown
- Enter the required credentials for your provider
- Click Verify & Fetch Zones
- Once verified, click Create Configuration
Adding a Domain to an Environment
Once your DNS provider is connected:
- Go to your Project → Environment → Domains section
- Click Add Domain
- Select DNS Provider: Choose from your configured providers
- Select Zone: Pick your domain from the dropdown
- Enter Subdomain (optional): Leave empty for root domain, or enter a prefix like
erp - Configure options:
- Automatically create DNS records: Creates A record automatically (recommended)
- Proxy through Cloudflare: Enable Cloudflare proxy (orange cloud) - Cloudflare handles SSL
- Set as primary domain: Mark this as the main domain for the environment
- Click Save
The domain preview shows exactly what URL will be created, like erp.your-company.com.
Cloudflare Proxy Option
When using Cloudflare, you can choose:
| Setting | What It Does |
|---|---|
| Proxy enabled (orange cloud) | Traffic routes through Cloudflare. Cloudflare provides SSL. Cannot use Let's Encrypt. |
| DNS only (gray cloud) | Direct connection to server. Uses Let's Encrypt for SSL. |
If using Cloudflare proxy, set SSL/TLS mode to Full (Strict) in your Cloudflare dashboard.
Domain Status
After adding a domain, check its status:
| Status | Meaning |
|---|---|
| Pending | Domain added, waiting for DNS propagation |
| Active | Domain verified and working |
| SSL Pending | Domain verified, SSL certificate being issued |
| Error | Configuration problem - check DNS settings |
To verify a domain manually, click the Verify button next to it.
SSL Certificates
All domains receive free SSL certificates from Let's Encrypt:
- Automatic: Certificates are requested and installed automatically
- Renewed Automatically: Certificates renew before they expire
- Always Secure: HTTP traffic is redirected to HTTPS
Wildcard SSL
For organizations with many environments, wildcard SSL provides instant HTTPS for all subdomains.
During DNS Provider Setup:
- Enable Wildcard SSL (recommended) checkbox
- Select a zone from your DNS provider
- Enter a subdomain prefix (e.g.,
apps) - Certificate will cover
*.apps.your-domain.com
For Existing DNS Providers:
- Go to Settings → DNS Providers
- Find your provider and click Enable Wildcard SSL
- Select the zone and enter subdomain prefix
- Click Save
- Click Request SSL to issue the certificate
Certificate issuance takes 1-2 minutes. The status shows:
- SSL Active: Certificate issued and working
- Issuing...: Certificate being generated
- Request SSL: Click to start certificate issuance
Removing a Domain
- Go to your Environment → Domains section
- Click the delete icon next to the domain
- Confirm the removal
When you remove a domain, the DNS record is automatically deleted from your provider.
The system subdomain remains available after removing custom domains.
Troubleshooting
Domain Not Working After Adding
- Wait 5-30 minutes for DNS changes to propagate globally
- Click Verify to check if the domain is ready
- Ensure the DNS record points to the correct server IP
SSL Certificate Not Showing
- Verify the domain first - SSL is issued only after successful verification
- Check that your domain resolves correctly using dnschecker.org (opens in a new tab)
- Wait a few minutes after verification for the certificate to be issued
Domain Shows Wrong Site
- Ensure you added the domain to the correct environment
- Check that no other environment is using the same domain
- Try redeploying the environment
DNS Provider Not Connecting
- Double-check your credentials
- For Hetzner, ensure you're using DNS Console token, not Cloud token
- For Google Cloud, ensure the service account JSON is valid
What's Next?
- Environments - Learn about environment settings
- Backups - Protect your data
- Git Connections - Connect your repositories