Custom Domains
Give your Odoo environment a branded web address like erp.your-company.com instead of the default system subdomain.
Custom domains require a Pro plan or higher.
Automatic Defaults
When you deploy an environment, the platform provides:
- System Subdomain: Every environment gets a working address like
acme-production.apps.oec.sh - SSL Certificate: HTTPS encryption via Let's Encrypt
- HTTP to HTTPS redirect: All traffic uses HTTPS
Your environment is accessible immediately after deployment, no setup required.
Setting a Custom Domain
- Go to your Environment > Settings > Domain tab
- Enter your custom domain in the Custom Domain field (e.g.,
app.example.com) - Click Save to apply the changes
- Configure your DNS:
- Create an A record pointing to your server's IP address
- The server IP is shown in the Domain tab for reference
- Redeploy the environment to apply the domain configuration
After DNS propagation (typically 5-30 minutes), your environment will be accessible at your custom domain with automatic SSL.
DNS changes may take up to 48 hours to propagate globally, though most updates complete within 30 minutes.
Reverting to Auto-Generated Domain
If you no longer need a custom domain:
- Go to your Environment > Settings > Domain tab
- The auto-generated URL is displayed for reference (e.g.,
env-name.oec.sh) - Click the Use Auto-generated button to clear the custom domain
- Click Save to apply the changes
The auto-generated URL is always available as a fallback, even when a custom domain is configured.
Agency Subdomain (White-Label)
Organizations with an agency domain configured can use subdomains on their white-label domain.
Setting an Agency Subdomain
If your organization has an agency domain (e.g., clients.youragency.com):
- Go to your Environment > Settings > Domain tab
- Above the Custom Domain section, you'll see the Agency Subdomain option
- Enter your desired subdomain (e.g.,
client-erp) - Click Save and redeploy
Your environment will be accessible at client-erp.clients.youragency.com.
Agency subdomains are only available for organizations with an agency domain configured by the platform administrator.
DNS-Managed Domains (Advanced)
For organizations managing multiple environments, connect a DNS provider for automatic record management:
- Automatic DNS Records: The platform creates and manages A records for you
- Wildcard SSL: A single certificate covers all subdomains
- Centralized Management: All domains managed from one place
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 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. Certificates are requested, installed, and renewed automatically. HTTP traffic is always 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 also deleted from your provider.
The system subdomain always remains available.
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