Product Guide
Custom Domains
Overview

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

  1. Go to your Environment > Settings > Domain tab
  2. Enter your custom domain in the Custom Domain field (e.g., app.example.com)
  3. Click Save to apply the changes
  4. 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
  5. 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:

  1. Go to your Environment > Settings > Domain tab
  2. The auto-generated URL is displayed for reference (e.g., env-name.oec.sh)
  3. Click the Use Auto-generated button to clear the custom domain
  4. 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):

  1. Go to your Environment > Settings > Domain tab
  2. Above the Custom Domain section, you'll see the Agency Subdomain option
  3. Enter your desired subdomain (e.g., client-erp)
  4. 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:

ProviderCredentials Needed
CloudflareAPI Token
AWS Route 53Access Key ID, Secret Access Key, Region
Azure DNSSubscription ID, Resource Group, Tenant ID, Client ID, Client Secret
Google Cloud DNSProject ID, Service Account JSON
DigitalOceanAPI Token
Hetzner DNSDNS 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):

  1. Go to Settings > DNS Providers tab
  2. Look for Quick Setup from Cloud Accounts
  3. Click your cloud account name
  4. Select a zone (domain) from your account
  5. Optionally enable Wildcard SSL and configure subdomain
  6. Click Create

Manual Setup

For providers not in your cloud accounts:

  1. Go to Settings > DNS Providers tab
  2. Click Add Provider
  3. Select your provider from the dropdown
  4. Enter the required credentials for your provider
  5. Click Verify & Fetch Zones
  6. Once verified, click Create Configuration

Adding a Domain to an Environment

Once your DNS provider is connected:

  1. Go to your Project > Environment > Domains section
  2. Click Add Domain
  3. Select DNS Provider: Choose from your configured providers
  4. Select Zone: Pick your domain from the dropdown
  5. Enter Subdomain (optional): Leave empty for root domain, or enter a prefix like erp
  6. 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
  7. 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:

SettingWhat 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:

StatusMeaning
PendingDomain added, waiting for DNS propagation
ActiveDomain verified and working
SSL PendingDomain verified, SSL certificate being issued
ErrorConfiguration 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:

  1. Enable Wildcard SSL (recommended) checkbox
  2. Select a zone from your DNS provider
  3. Enter a subdomain prefix (e.g., apps)
  4. Certificate will cover *.apps.your-domain.com

For existing DNS providers:

  1. Go to Settings > DNS Providers
  2. Find your provider and click Enable Wildcard SSL
  3. Select the zone and enter subdomain prefix
  4. Click Save
  5. 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

  1. Go to your Environment > Domains section
  2. Click the delete icon next to the domain
  3. 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