Zum Hauptinhalt springen

MANIFEST File

The MANIFEST file lives at the project root and controls which Odoo modules are installed and which addon paths are active. It is a Python dict literal (not JSON — comments and trailing commas are allowed).

Example

{
"version": 17.0,

# Modules loaded server-wide (available without database)
"server-wide-modules": ["web"],

# Python version for the Odoo container
"python_version": "3.12",

# Modules to install
"install": [
"sale",
"purchase",
"account",
"stock",
"my_custom_module",
],

# Modules to uninstall (if present)
"uninstall": [
"web_tree_many2one_clickable",
],

# Modules to uninstall only in DEVMODE
"devmode_uninstall": [
"password_security",
],

# Modules to run tests for
"tests": ["my_custom_module"],

# Run these update steps before the main update
"before-odoo-update": [
["update", "base"],
],

# Where Odoo looks for modules
"addons_paths": [
"odoo/odoo/addons",
"odoo/addons",
"enterprise", # Odoo Enterprise (if available)
"addons_tools", # zodoo helper modules
# "addons_OCA/sale-workflow",
# "addons_OCA/account-invoicing",
],
}

Fields

FieldDescription
versionOdoo version as float: 17.0, 16.0, etc.
server-wide-modulesLoaded without a database. Always include "web".
python_versionPython version for the Odoo Docker image.
installModules to install/keep installed.
uninstallModules to force-uninstall.
devmode_uninstallModules to uninstall when DEVMODE=1.
testsModules to run tests for (used by odoo module run-tests).
before-odoo-updateModule update steps to run before main update.
addons_pathsDirectories where Odoo searches for modules. Order matters.
odoo_dirWhere the Odoo source is cloned (default: odoo).
upgrade_pathPath to upgrade-utils for OpenUpgrade migrations.

OCA addons

OCA modules are managed via gimera. Add the desired OCA repo to addons_paths (uncomment in template), then run:

gimera apply
odoo reload