Running an Odoo instance locally is a rite of passage for every Odoo developer. Whether you are a functional tester verifying a bug or a developer building a new module, you eventually face the same questions.
While the native Odoo CLI provides all the power you need, the repetitive setup process can slow you down significantly. What if you could automate the boring parts while keeping full flexibility?
In this post, we’ll see how to use Trobz's tooling ecosystem to streamline your Odoo local development setup, and of course ultimately run Odoo easily and fast!
The Current Landscape
If you've worked with Odoo for any length of time, you know the drill. Every new project means:
Manually creating virtual environments and installing dependencies
Configuring database connections with the same parameters over and over
Building complex `--addons-path` that span multiple directories
Remembering which Python version works with which Odoo version
Tracking down configuration files scattered across different projects
This repetitive setup creates friction. You want to focus on building features or fixing bugs, not wrestling with environment configuration. The native Odoo CLI is powerful, but it doesn't enforce consistency or reduce the cognitive load of remembering project-specific settings.
That's where standardized tooling comes in.
Welcome to Trobz’s tooling Ecosystem
trobz_local (tlc) is a helper tool that enforces a standard directory structure and automates the repetitive parts of Odoo setup. Instead of wondering where things go, tlc handles it for you, while keeping the flexibility of native Odoo tools.
Let's see how it works in practice.
Setup
1. Create the standard directory structure that tlc expects
$ mkdir ~/projects \
cd ~/projects \
export TLC_CODE_DIR=~/projects
2. Download a minimal configuration file
$ curl -fsSL https://raw.githubusercontent.com/trobz/local.py/main/assets/odoo_minimal.toml -o config.toml
3. Run bootstrap
$ curl -fsSL https://raw.githubusercontent.com/trobz/local.py/main/bootstrap.sh | bash
4. Install required tools
$ tlc install-tools
5. Clone Odoo repository
$ tlc pull-repos
6. Create virtual environments for configured versions
$ tlc create-venvs
What just happened?
Under hood, tlc uses odoo-venv to:
Create a clean virtual environment in ~/projects/venvs/18.0
Install Odoo dependencies automatically
Ensures version compatibility
Create a simple launcher script odoo-v18
You can read more about odoo-venv in here
7. Make sure PostgreSQL is installed and running
$ sudo systemctl start postgresql
8. Ensure PostgreSQL user exists for database initialization
$ tlc ensure-db-user
Let’s run Odoo!
1. Construct an ultimate ‘--addons-path’ for odoo
$ ADDONS_PATH=$(odoo-addons-path --odoo-dir ~/projects/odoo/odoo/18.0)
2. Run Odoo
Now for the moment of truth, let's start Odoo:
$ odoo-v18
Final thoughts
That’s just the basic setup for a simple Odoo local development. While this is just the foundation, it eliminates the repetitive friction that slows down development.
The goal isn't to replace Odoo's native tools, it's to complement them with automation that saves time and reduces errors.