> ## 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).

# Creating an Odoo Instance

# Creating an Odoo Instance

You can run multiple Odoo instances on the same VM — typically one for production, one for staging, maybe one for testing.

## Step 1 — Click "Create Instance"

From the dashboard, click the **Create Instance** button (top right).

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


## Step 2 — Fill in the form

You'll see a form with three fields:

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


### Instance Name

A short identifier for this Odoo. Examples: `production`, `staging`, `acme-prod`, `test1`.

Rules:
* 3–30 characters
* Lowercase letters, digits, and dashes only
* Must start with a letter
* No consecutive dashes
* Can't end with `-db` (we use that suffix internally)

The name appears on your dashboard, in your domain configuration, and as the SFTP username path.

### Odoo Version

Pick the major version you want. Options: **16.0, 17.0, 18.0, 19.0**. Default is 18.0.

This installs the upstream `odoo:<version>` Docker image directly. You can update it later via the **Update Odoo** button on the instance page.

We do NOT support major-version upgrades automatically — going from 17.0 to 18.0 needs a careful database migration. Pick the version you want now. To move later, contact support.

### Postgres version

Pick the major version you want. Options: **13.0, 14.0, 15.0, 16.0**. Default is 16.0.

This is the PostgreSQL database server version you may want with your Odoo instance. This installs the upstream `Postgres:<version>` Docker image directly.

## Step 3 — Click Deploy

After clicking **Deploy**, the panel:

1. Validates the name (must not already be in use)
2. Creates three containers behind the scenes (Odoo, Postgres, SFTP)
3. Starts them all
4. Redirects you to the instance's management page

This takes about **30–60 seconds**. You'll land on the instance page with all three controls (status, domains, SFTP) ready.

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

## What you got

A fresh Odoo install with:

* An empty Postgres database
* An empty filestore (where Odoo stores file uploads)
* An empty addons directory (where you can SFTP in custom modules)
* A working SFTP login (credentials on the instance page)
* **No domain attached yet** — Odoo runs but isn't reachable on the internet until you point a domain at it ([next page](04-domains-and-ssl.md))

## Initial Odoo setup

Until you attach a domain, the easiest way to reach Odoo is through the SFTP credentials section, but Odoo's web UI requires a domain to use. **Attach a domain first** (next guide), then visit `https://<your-domain>/web/database/manager` to:

1. Create an Odoo database
2. Set the database master password
3. Choose the demo data option
4. Pick which apps to install

This is Odoo's own first-time setup — it's not part of our panel. Odoo's official docs cover it <https://www.odoo.com/documentation/>.

## Multiple instances

Repeat this flow as many times as your VM has resources for. Suggested naming:

* `production` — the live one
* `staging` — for testing changes before they hit production
* `dev` — your own sandbox

Each instance has its **own** Postgres DB, filestore, addons, and SFTP port. They don't share anything. You can clone one to another — see [Cloning an Instance](https://kb.host4geeks.com/en/article/cloning-an-instance-1x1s5u4/).