> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://kb.host4geeks.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Domain & SSL

# Domains and SSL

Odoo isn't reachable from the internet until you attach at least one domain to your instance.

## What you need beforehand

A domain (or subdomain) you control, and access to its DNS settings. Examples:

* `erp.acme.com` — a subdomain of a domain you own
* `acmeshop.com` — a fresh apex domain you've registered
* `staging-erp.acme.com` — a separate domain for your staging instance

## Step 1 — Point DNS at your VM

At your DNS provider (Cloudflare, Route 53, GoDaddy, etc.), create an** A record**:

| Type | Name | Value | TTL |
| ---- |
| A | `erp.acme.com` (or just `erp` if your provider does that) | your VM's public IP | 300 |

The VM's IP shows up in the **"Add Domain"** form on the instance page in the panel — copy it from there.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/b/7/6/3b7630273e7aca00/domainscardpng_118obeh.png)


### ⚠️ Cloudflare users

If your domain is on Cloudflare with the **proxy enabled (orange cloud)**, SSL issuance often fails. The fix is **temporary**:

1. Set the record to **DNS only (grey cloud)** while you complete the next steps.
2. After SSL is issued (under 60 seconds), switch the proxy back to **On (orange cloud)** if you want.

## Step 2 — Add the domain in the panel

Go to your instance's page → **Domains** card → type the domain name in the "Add Domain" field → click **Add Domain**.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/b/7/6/3b7630273e7aca00/adddomainpng_i17hdz.png)


The panel asks CapRover to verify the domain points to your VM's IP. If DNS hasn't propagated yet, you'll get a "Verification Failed" message. Wait a minute, try again.

If it succeeds, the domain appears in the Domains list with an **HTTP only** badge.

## Step 3 — Enable SSL

Click **Enable SSL** next to the domain.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/b/7/6/3b7630273e7aca00/domainscardpng_w51u06.png)


The panel issues a Let's Encrypt certificate via the HTTP-01 challenge. This takes 5–15 seconds. After it succeeds, the badge changes to** HTTPS** and your domain serves Odoo over HTTPS automatically.

![](https://storage.crisp.chat/users/helpdesk/website/-/3/b/7/6/3b7630273e7aca00/sslinstalleddomainpng_1hxs0x9.png)


Certificates auto-renew before they expire — you don't have to do anything.

## Multiple domains on one instance

You can attach as many domains as you want. Useful for:

* A vanity domain plus a staging subdomain
* Multiple country/language sites pointing at the same Odoo
* A new domain you're migrating to (run both old + new for a while)

Just repeat the Add Domain → Enable SSL flow.

## Removing a domain

Click **Remove** next to the domain. A browser confirmation pops up. Click OK and the domain detaches — Odoo is no longer reachable from that name, and the LE cert for it expires harmlessly.

The DNS A record is **yours** — we don't touch it. Remove it at your DNS provider if you want to fully release the name.

## Troubleshooting

### "Verification Failed" when adding a domain

DNS doesn't resolve to your VM yet. Check with a public resolver:

```bash
dig +short erp.acme.com @8.8.8.8
```

If the answer is empty or wrong, fix the A record. If it's right, wait 30–60 seconds for caching and retry.

### "Verification Failed" when enabling SSL

Same diagnosis as above, plus:

* **Cloudflare proxy is on?** Turn it off (grey cloud), retry, turn it back on after.
* **Rate limit?** Let's Encrypt limits new certificates per domain. If you've been retrying a lot, you may need to wait up to a week.

### "You have to first enable SSL for your root domain"

This shouldn't happen — your VM is set up so the root SSL is enabled automatically by us during provisioning. If you see this, contact support and we'll fix it on the VM.

### "I see a Cloudflare error when I visit my Odoo"

If you re-enabled the orange cloud after issuing SSL, set Cloudflare's "SSL/TLS encryption mode" to **Full** (not "Flexible" or "Full Strict") in the SSL/TLS settings. That tells Cloudflare to use HTTPS to reach our server, which now has a real LE cert.
