Skip to main content
Ready to deploy? Try it free

Documentation Start here

Projects & environments

Create a project, and work with its Production, Staging and Development environments.

Updated 11/12/2026

Projects, environments and apps

What a project is: one Odoo system, with up to three environments that each run its apps.

You can

  • Open a project to work in its environments and apps.
  • Start a new one with Create Project, if you are an Admin (Create a project).
  • Compare what each plan allows in Billing & pricing.

Good to know

  • A project is built from one Git repository and billed on one plan: your company's ERP, say, or one customer's.
  • Production is the live system your users work in; Staging tries a change on a copy first; Development is for building and testing new work.
  • Each environment runs on a server and holds apps: the Odoo instances, one per Odoo version and branch.
  • The plan decides which environments a project has and how many apps each one runs.

Create a project

A new project in two moves: pick its plan, then fill in its Info, Environment and App steps.

You can

  • Pick a plan with Choose This Plan, at monthly or annual prices; you can change it later.
  • On Info, name the project and pick its repository, the domain provider for its addresses and the type of its first environment.
  • On Environment, pick an existing server, or a cloud provider with a size, image and region for a new one, and the PostgreSQL version.
  • On App, set the first app's prefix, version, edition and branches (the first is the main one); with no branch, it runs Odoo's own modules only.
  • Press Create, then follow the work under Operations; the first build takes a few minutes.

Good to know

  • Creating a project takes the Admin role.
  • Connect a cloud provider (for a new server) and a Git provider first; the Setup Guide walks you through both.
  • Nothing is created until you press Create: then come the server, if you asked for one, the database and the app.
  • A new namespace waits for our review before it can deploy (This workspace is awaiting operator review); you can keep setting it up meanwhile.
  • If the Odoo version needs a newer PostgreSQL than the environment's database runs, a warning says so before you create the app.
The plan cards: Essential, Pro and Premium, with the Monthly and Annual switch
Pick the plan for this project. A lock marks what a plan doesn't include.
The New Project screen on its Info step, with the Info, Environment and App steps across the top
The Info step of a new project.

The project screen

A project's own screen: its environments and apps, and a menu each for its backups, runs, databases, storages, details and plan.

You can

  • Work in the environments and their apps under Overview (Working in an environment).
  • Follow everything that ran for the project under Operations: workflows, runners and queues.
  • Read the project's name, code, storage path, repository and domain provider, and its history, under Project Info.
  • See its PostgreSQL databases under Databases, and the off-site storages its backups go to under Storages.
  • Go back to the main sidebar with the arrow at the top.

Good to know

  • Backups shows for Developer and above, on a plan with backups: see Backups & restore.
  • Pricing & Plans holds the plan, its billing period and its current installment, for Admins: see Billing & pricing.
A project screen: the environment buttons, the server strip, the version tabs, the toolbar and an app card
  1. The environment buttons — Production, Staging, Development.
  2. The server strip — the environment's server and how busy it is.
  3. The version tabs and the toolbar.
  4. An app card.

Working in an environment

One environment of the project: its server, its apps by Odoo version, and the code and boards they share.

You can

  • Switch environment with the buttons at the top right: the green number counts its deployed apps, the blue one all its apps.
  • Add an app with Create in the actions menu or, while there is no server yet, set up server, database and first app with Automate Environment.
  • Act on an app from its card: open it, Build it, take a Backup, or use its menu; a log badge opens its warnings and errors.
  • Open the server's details and monthly cost, its own screen or a terminal on it from the strip below the buttons.
  • Switch to Addons for the shared Odoo code, or Monitoring for the server's boards; Coder opens a code editor for this server.

Good to know

  • Shared Odoo addons are deployed once per environment and used by all its apps: an empty SHA follows the version's branch, a set one pins that commit.
  • A deployed addons row cannot be changed until you undeploy it; downloading its code asks for your password.
  • If Coder is not installed on the server yet, its button installs it.
  • Monitoring needs a plan with advanced monitoring.
  • Destroy, under Danger Zone in the actions menu, removes the whole environment: see Destroy an environment.

See Deployments & rollback for everything you can do with an app.

The environment's actions menu open, with Create and, under Danger Zone, Destroy
The environment's actions menu.
The Shared Odoo Addons table: one row per Odoo version with its SHAs, state, apps and actions
Shared Odoo addons, one row per version.

Environment settings

Click Settings in the toolbar. The settings have three tabs; each one also shows the environment's history.

TabWhat you set
Info Where the environment runs: its name, deploy method, database, repository and server.
Automation What happens when a branch receives a push:
  • Auto-Update Apps — update the apps built from that branch.
  • Auto-Deploy Apps — deploy them, or create a new app for a branch the environment hasn't seen yet.
  • Auto-Delete Apps on Branch Removal — when a branch is deleted, delete its apps. Never in production.
  • Update copy policy (Staging and Development) — how a module update runs: In place on the live database; On a copy, else in place; or On a copy, or not at all. On a copy, the update runs on a copy of the database, and the copy replaces the original only when the update worked. Production always updates on a copy when it can.
Defaults What new apps in this environment start with: the branches and databases for each Odoo version (the first branch of a version becomes a new app's main branch), Resource Limits (CPU and memory; 0 keeps the built-in default), the Installation options (install modules automatically, a clean database, no demo data) and, when automatic installation is on, the Quality Checks. An app can change any of these for itself.
Environment settings on the Defaults tab: branches per version, resource limits and installation options
The Defaults tab of an environment's settings.

Who may do what

What you may do in an environment depends on your role in the namespace and on the environment: the closer to production, the higher the role it takes.

ActionDevelopmentStagingProduction
Create, build, update, back up or restore an app; change environment settingsDeveloperDeveloper PlusMaintainer
Delete an appDeveloperDeveloper PlusAdmin
Set up an environment (Automate Environment)DeveloperDeveloper PlusMaintainer
Destroy an environmentMaintainerMaintainerAdmin
Open a terminal on the serverDeveloperDeveloperMaintainer

Creating or deleting a project and changing its plan take the Admin role. A Viewer can look at everything but change nothing, and doesn't see the run history. Your plan has a say too: setting up staging or development needs a plan that includes them. See Permissions & access for every role.

Destroy an environment

Open the environment's actions menu and click Destroy. For a production environment you sign it: type the environment's name.

  • If other environments still run apps on the same server, only this environment's apps, databases and web address are removed; the server stays.
  • If not, the server itself is deleted, and everything on it with it.
Destroying can't be undone. Download any backup you want to keep first — see Backups & restore.

Was this page helpful?

Your answer helps us prioritize documentation improvements.

Thanks — your feedback helps us improve.