Skip to main content
Ready to deploy? Start Free Trial

Documentation Deploy & operate

Health and operations

Health shows how your runs, apps, backups, certificates and servers are doing; Operations and a run's page show every run step by step, with its output, and let you retry or stop it.

Developer Updated 11/03/2026

Health and Operations

Two places in the sidebar tell you how your platform is doing. Health answers "is everything all right?": how your runs went, which apps are in error, which backups are late, which certificates are about to expire, and which servers are overdue for a cleanup. Operations answers "what ran, and what is running now?": every run, step by step, with its output and the buttons to retry or stop it.

Both read the namespaces you are working in, and follow the namespace switcher (see Namespaces). Each project, app, server, database, installer and storage also has an Operations menu of its own, with the runs on that record.

Health

Health in the sidebar gathers what needs watching, in six tabs. It opens on Runs. The items under Needs attention on the Overview open the right tab with the matching filter on (see The Overview screen).

TabWhat it shows
RunsHow your runs went over a period, and which failed. See Runs.
InstancesEvery app, with its status and its backup state. See Instances.
BackupsProduction apps whose last backup is late. See Backups.
URLs & SSLCertificates that expired, are about to, or could not be read yet. See URLs & SSL.
Server CleanupServers whose weekly cleanup is overdue. See Server Cleanup.
Core AddonsThe Odoo source each environment shares, and updating it. See Core Addons.

Click a row to open the run, app or server behind it. Runs covers every project; the other tabs cover projects on a paid plan (see Plans). Some tabs also show only the environments your role covers; see Who may do what.

Runs

How the runs that ended in the last 7, 30 or 90 days went, where they fail, and which failures still need you.

You can

  • Group the failures By action or By step and pick one to narrow the list; the chip above the list clears it.
  • Open an action to see it per namespace, when several namespaces are in play.
  • Turn Still failing or Fixed later off to hide those runs.
  • Click a row to open the run's page, or the record's name to open the record.
  • Run a still-failing run again from the step that failed with Retry.

Good to know

  • Still failing: no later run of the same action on that record has succeeded. Fixed later: one has.
  • The Success rate counts succeeded runs out of succeeded and failed ones. Canceled runs were stopped on purpose and do not count.
  • A run that failed after its steps, while the platform waited for a backup or restore to report back, counts under no step.
  • This tab covers every project; the other Health tabs cover projects on a paid plan (Plans).
  • Retry takes Developer in development, Developer Plus in staging and Maintainer in production (Retry and cancel).

Instances

Every app in one list, the most urgent first, with how its last run went and how fresh its backup is.

You can

  • Filter by status, and by environment (Prod, Stg, Dev) in any combination.
  • Include deleted apps with Deleted; Reset clears the filters.
  • Click a row to open the app.

Good to know

  • The status says how the app's last run went, not whether it answers right now: for that, look at its URLs.
  • Deploying: a run is under way, the app has not been deployed yet, or a failed run is about to be retried.
  • Error: its last run failed. Stopped: it was canceled, disabled or deleted.
  • The backup badge is Healthy under 36 hours since the last good backup, Warning from 36 to 48 hours, Critical after that.
  • No Backups means the app has none, or its Auto Backup is off.

Backups

Your production apps whose last good backup is late, so you can take one now.

You can

  • Take a backup now with Backup, and follow it in the app's Operations.
  • Turn Critical or Warning off to hide those apps.
  • List the apps backed up in the last 36 hours instead with Healthy Only.
  • Click a row to open the app.
  • Download or restore any backup from the sidebar's Backups.

Good to know

  • It watches production apps that have Auto Backup on, and no others.
  • Critical: the last good backup is more than 48 hours old, or there is none. Warning: 36 to 48 hours.
  • It covers production only, so it fills for Maintainers and Admins, and Backup takes the Maintainer role.

See Automatic backups for what runs each night.

URLs & SSL

The certificates on your apps' and installers' addresses that have expired, are about to, or could not be read yet.

You can

  • Hide expired certificates by turning Critical off, or expiring and unread ones by turning Warning off.
  • List the valid certificates too with Valid.
  • Hover a status to read why the last check found no certificate, and when it looks again.
  • Read the certificate the address serves now with Check, or have it issued again, as a run you can follow, with Renew.
  • Open the app or installer with the eye.

Good to know

  • Certificates renew on their own weeks before they expire, and each is read about once a day: Expiring Soon (7 days or less) means renewal is failing.
  • Unknown means no certificate has been read yet, for example right after the address was set up.
  • Check and Renew wait while a run is going on the address or its owner; meanwhile the list refreshes every 3 seconds.
  • They take the role that changes the app or installer: see URLs and certificates and an installer's URLs.
  • You see the addresses of the environments your role covers, and every installer's. A Viewer sees no app's certificate here.

Server Cleanup

Whether each of your deployed servers has had its Docker cleanup in the last 7 days.

You can

  • Keep only the overdue servers with Needs Cleanup.
  • Click a row to open the server.
  • For a server that stays on Needs Cleanup, look for its cleanup run in the server's Operations.
  • As a Maintainer, run one now with Cleanup in the server's More menu (Server actions).

Good to know

  • Once a day, the platform cleans every deployed server not cleaned in the last 7 days, with a run named Clean Up Docker Resources.
  • It removes stopped containers, images unused for 3 days, untagged images, unused networks and the build cache, and trims the system logs to 7 days.
  • It removes unused volumes, skipping any that looks like a database's, and keeps only the two newest copies of each app's earlier code.
  • Nothing that is running is removed, and what is removed cannot be brought back.
  • A server used by several environments shows once under each.

Core Addons

The copy of Odoo's own source each environment keeps per Odoo version, which its apps share instead of each fetching their own.

You can

  • Narrow the list with the environment buttons (production, staging, development) and the project picker.
  • Update the core addons of every environment in the list with Update Selected, after you confirm.
  • Follow each environment's progress under its name; the environments update side by side.

Good to know

  • A copy holds Odoo Community, Enterprise when the environment runs it, and Odoo's themes.
  • For each environment, a queue updates every deployed copy, then restarts every deployed app that uses them.
  • Each restart cuts its app off for a moment, production apps included when production is in the list.
  • An environment with nothing deployed, or with no server, is skipped, and a message says why.
  • Update Selected takes the Admin role; you see the environments your role covers, in approved projects on a paid plan.

Operations

Every run in the namespaces you are working in, the ones you start and the ones the platform starts for you, step by step.

You can

  • Read the runs, each with its steps, under Workflows, and single steps with their attempts and output under Runners.
  • Follow runs that play in order under Queues, and the platform's reads of your Git repositories under Reconciliation.
  • Open one failed run whole on its own page, from Health › Runs.
  • Load the open tab again with Refresh, at the end of the tab row.

Good to know

  • A run is one workflow, such as Deploy or Update, on one record, made of steps that play one after the other.
  • A step that fails can be tried again, so each step has one or more attempts.
  • Runs that must happen in order, such as an update and the restarts after it, wait in a queue and play in turn.
  • A record's own Operations menu shows its runs: an app's include its URLs', a server's its installers', server users' and SSH keys'.
  • The lists update live while runs play.

States

A run's state is its steps' states put together. The cards in Operations use the names below; a run's own page says them in words (in brackets).

StateMeaning
Draft, Idle (Waiting)Created, not started yet.
RunningA step is playing.
Partial Done (Partly done)Some steps are done; the next has not started yet.
RetryingA step failed and will be tried again on its own.
Done (Succeeded)Every step succeeded.
Error (Failed)A step failed and nothing will try it again on its own.
CanceledStopped before it finished.

A step that fails is tried again after a short wait, which grows with each attempt up to an hour, until it has failed three times. A step that timed out, or whose start was refused for something a person has to set (a key, a token), is not tried again on its own.

Retry and cancel

Retry runs a failed or canceled run again from the step that stopped it; the steps that succeeded are not run again. You find it on the run's card in Workflows, on its page, on its row in Health › Runs, and in the record's header (see Other actions). It is not offered when:

  • a newer run of the same record exists. The card says Newer run exists and offers Open latest run;
  • the run waits in its queue behind an earlier run that has not finished.

Cancel stops a run that is waiting or playing. The steps not finished are canceled; the ones done stay done. Whatever a step was doing on the server is cut off, which can leave the change half made. A canceled run can be retried.

Both ask you to confirm. They take the role that changes the record in its environment: Developer in development, Developer Plus in staging, Maintainer in production (see Who may do what).

Workflows

The runs, newest first, each with its steps, its facts and the buttons to start, retry or cancel it.

You can

  • Click a card to open or close it; the newest card, and any running or waiting one, opens by itself.
  • Click a step's icon in the Pipeline to see that step, as on the Runners tab.
  • Start a run that was created but not started with Start; for a run in a queue, it starts the queue.
  • Run it again from the step that stopped it with Retry, or stop it with Cancel (Retry and cancel).
  • Cancel a run a newer one blocks, and the rest of its queue, with Abandon queue; completed steps stay.

Good to know

  • A yellow line says why a run does not move: another queue, our review of its project, or a newer run of the same record.
  • Retry is not offered once a newer run of the record exists: the card says Newer run exists and offers Open latest run.
  • On an app or a project, Start and Cancel need a plan with automated deployments.
  • These take Developer in development, Developer Plus in staging and Maintainer in production (Who may do what).

Runners

Every step of every run, one row each, with its attempts, its output and the buttons to act on it.

You can

  • Filter by namespace, action and state, or search; Stuck Jobs keeps the steps nothing will retry on its own, each with why it stopped.
  • Click a row's icon for the step's card, and read its output with View Output; the history icon lists every attempt.
  • Run a failed step again with Retry: when it succeeds, its run carries on with the steps after it.
  • Start the automatic retries over with Reset, or stop a queued or running step with Cancel.
  • Run a finished step again as a new attempt, whatever its result, with Rerun.

Good to know

  • A stuck step waits for you: fix the cause first, then Retry or Reset it.
  • A failed step is retried on its own until it has failed three times; the card's Status says when the next try comes (States).
  • On a backup or restore that goes on after its step, Watcher Log shows its log on the server, and Check Backup or Check Restore checks again.
  • Rerun takes the Maintainer role; the other buttons follow Who may do what.
  • On an app, Reset, Rerun and Cancel need a plan with automated deployments.

Queues

Runs that must play in order, each one starting when the one before it is done.

You can

  • Start a queue that has not started with Start.
  • Start one that waits for an earlier queue, without waiting, with Force start.
  • Retry the first run in it that can be retried with Retry.
  • Stop it with Cancel: the run in progress, every run after it and the follow-up queues that never started. Completed runs stay.

Good to know

  • A run that fails holds its queue: the runs after it wait until it is retried or the queue is canceled.
  • Force start may begin before what the earlier queue sets up is in place, and cannot skip a project's review.
  • Besides a run's states, a queue can be Waiting (an earlier queue, or our review of the project, holds it) or Paused.
  • These take Developer in development, Developer Plus in staging and Maintainer in production (Who may do what).
  • On a project, the Queues tab needs a plan with automated deployments.

Reconciliation

Each time the platform read one of your Git repositories to bring its branches and commits up to date, and how it went.

You can

  • Filter by namespace, variant and state; Stalled keeps the syncs nothing has moved for an hour.
  • Click a row for its details: when it started and finished, how many branches it saw and manages, and a failed one's error.
  • Release a stalled sync with Cancel, the ban icon.

Good to know

  • A full sync reads every branch; a targeted one reads only the branches a run needed, listed in its details.
  • While a sync of a repository is queued or running, no other starts for it, so a stalled one holds back every later sync.
  • A sync still running may finish anyway after you cancel it.
  • Cancelling takes the Maintainer role, in every environment.
  • On a project, the tab lists the syncs of the project's repository.

A run's page

One run from start to end: where it failed, why, and what you can do about it.

You can

  • Read the picked step's reason and output on the right; pick another step on the left, or another attempt when it ran more than once.
  • Open the record it ran on with Open, or run it again from the failed step with Retry.
  • Use Retry step, Reset retries, Rerun and Cancel as on the Runners tab.
  • Read the whole log with Full output, and the identifiers to quote when you write to us under Technical details.
  • Open another run of the same queue from the list on the left.

Good to know

  • Still failing: no later run of the same action has succeeded. Fixed later: one has.
  • You reach it from a failed run in Health › Runs, or from Open latest run on a run a newer one replaced.
  • Its address names the run, so a shared link opens it for anyone who may see the record.
  • The buttons follow your role in the record's environment (Who may do what).

See Troubleshooting for the usual causes of a failed deploy.

Who may do what

Everyone in the namespace may look at Health, Operations and a run's page. What you may do with a run depends on your role and on the environment of the record it runs on. A role may also do everything the rows above it allow.

ActionDevelopmentStagingProduction
See runs, steps, queues and their outputViewerViewerViewer
Start, Retry or Cancel a run; Retry, Reset or Cancel a step; Start, Force start, Retry, Cancel or abandon a queueDeveloperDeveloper PlusMaintainer
Rerun a stepMaintainerMaintainerMaintainer
Take a backup from Health › Backups(production only)(production only)Maintainer

Check and Renew in URLs & SSL take the role that changes the address's app or installer. Cancelling a repository sync takes Maintainer, and Update Selected in Core Addons takes Admin, in every environment.

Some Health tabs show only what your role covers. Backups lists production apps, so it fills for Maintainers and Admins. URLs & SSL and Core Addons show the environments your role covers: development for a Developer, development and staging for a Developer Plus, all of them for a Maintainer or an Admin. A Viewer sees no app's certificate there. See Permissions & access for every role.

Was this page helpful?

Your answer helps us prioritize documentation improvements.

Thanks — your feedback helps us improve.