Skip to content
ERP Expert

Station 2 of 10

A real Odoo training environment

Ahmed Hassan Algammal6 min read

What you leave this station with

An Odoo instance running in front of you that you can destroy and rebuild in minutes, and a clear grasp of hosted versus local before you build eight weeks on top of it.

The condition for learning here is ownership, not access.

Someone afraid of breaking their environment does not experiment, and someone who does not experiment does not learn. So the target of this station is not “Odoo is open in a browser tab”. It is a database you can wreck today and rebuild tomorrow, without asking anyone.

Why one environment is not enough

The three routes are not substitutes. Each teaches something the others cannot.

Route What it gives you What it withholds
Hosted account on Odoo Full Enterprise, no install, in minutes A time limit, and no access to the source or the database
Docker container A permanent instance you own, rebuilt in a minute Enterprise does not ship with it
Source install All of the above, plus reading the source and running a debugger An hour of first setup and some dependency wrangling

The practical rule: open the hosted account today so learning starts today, and install a local instance the same week so nothing stops when the trial expires.

Route one: the hosted account

Odoo lets you open a database on its own hosting with no install and no card at the first step. It is the fastest way to see Enterprise from the inside — and Enterprise is what the company interviewing you runs.

One piece of advice matters more than the rest: do not switch on more than two applications in the first session. Sales and Inventory are enough. Every application added brings menus, fields and rules with it, and the person who enables twelve of them reads a screen whose fields are half unintelligible and concludes the product is complex.

Then a small, expensive trap: a trial database is usually created with demonstration data already in it — customers, products and invoices that somebody else made up. Convenient for browsing, bad for learning, because you end up touring another person’s work instead of building your own. Create a second, clean database with no demo data and make that one your real environment for this path.

Route two: a Docker container

For most people this is the right balance: a permanent instance on your machine, created in minutes and wiped in seconds.

Odoo publishes an official image on Docker Hub, and it needs a PostgreSQL database beside it. The simplest working shape:

docker network create odoonet

docker run -d --name odoo-db --network odoonet \
  -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres \
  postgres:16

docker run -d --name odoo --network odoonet -p 8069:8069 \
  -e HOST=odoo-db -e USER=odoo -e PASSWORD=odoo \
  -v odoo-data:/var/lib/odoo \
  odoo:19

Then open http://localhost:8069 and create your database.

Three notes that will save you hours:

Do not drop -v odoo-data:/var/lib/odoo. That is the filestore. Run Odoo without a persistent volume and the interface comes back white after a restart, because the asset bundles that were generated — and whose paths were recorded in the database — left with the container.

Write the master password somewhere you will find it. You are going to create and drop databases repeatedly on this path, and every one of those operations asks for it.

The official odoo image is Community. No Studio, no full accounting. That is precisely why the previous station decided on two environments rather than one.

Route three: installing from source

This is the route that separates people who use Odoo from people who understand it. Running the system from its own source means you can open the file that computes the field which confused you, and read the condition that stopped a button appearing. That skill later removes your dependence on asking anyone.

The requirements published in the Odoo 19 documentation: Python 3.10 or newer, and PostgreSQL. The source is fetched on the release branch alone:

git clone --branch 19.0 --single-branch https://github.com/odoo/odoo.git

The source-install page in Odoo’s official documentation lists the remaining steps per operating system and moves with the release (read 6 September 2026).

There is also a purely functional reason to install from source even if the code is not your goal: developer mode and the log output. Running Odoo locally puts the real error line in your terminal when an operation fails, instead of a generic message in the browser. That alone halves diagnosis time.

The acceptance test for this station

Do not move to station three until you can do these four without hesitating:

  1. Create a fresh, clean database with no demo data, and log into it.
  2. Install an application and remove it, watching what appeared in the menus and what disappeared.
  3. Delete the whole database and rebuild it in under ten minutes. This is a psychological skill before it is a technical one: someone who knows they can start over experiments without fear.
  4. Switch the interface language to Arabic and back to English.

A note on Arabic — for readers of this path specifically

Odoo ships Arabic in the core product and the interface flips to right-to-left. But my advice during learning is to keep your interface in English, for two practical reasons and no others:

  • The official documentation and every answer you will search for use the English field names. Learning in Arabic adds a reverse-translation step to every search.
  • Assessments and interviews in this market are usually conducted in the English terminology.

Even so, switch to Arabic once, now, and open an invoice screen in it. Station eight will need you to know by eye rather than by hearsay what an Arabic invoice out of this product looks like — and the difference between a system that ships Arabic and one that promises it is among the sharpest divides in this market, as the systems comparison shows.

The three editions and what each does to cost and customisation are set out in the Odoo guide.

What comes next

You now have a running system and an empty database. The next station fills it: a complete company with its master data — chart of accounts, items, partners, units of measure, taxes. It is the station everyone underestimates and then pays for across the four that follow.