Managing Services

Start, stop, restart, and manage your Odoo services.

Once a service is created, you can manage its lifecycle directly from the hav.sh dashboard.

#Starting and stopping

#Start a service

If a service is stopped, click the Start button on the service page. The container will boot up and Odoo will become accessible at its URL.

#Stop a service

Click Stop to shut down a running service. This stops the container but preserves all data — the database, files, and configuration remain intact. You can start it again at any time.

#Restart a service

Click Restart to stop and immediately start the service. This is useful when:

  • You've installed or updated an addon
  • Odoo seems unresponsive
  • You've changed configuration that requires a restart

Stopping a service does not delete any data. Your database and files are safely preserved.

#Deleting a service

To permanently remove a service:

  1. Open the service you want to delete
  2. Click Delete in the service actions
  3. Confirm the deletion

Deleting a service permanently removes the container, database, and all associated files. Make sure you have a backup before deleting. This action cannot be undone.

#Neutralizing a service

The Neutralize action strips sensitive data from a service. This is useful when you want to create a safe demo or test copy of a production instance — it anonymizes data so real customer information isn't exposed.

#Updating the base image

Each Odoo service is built on a base image. Pulling the latest base image picks up security patches and Odoo updates without changing your service's configuration.

#Image pull strategy

The Image pull strategy setting on the service controls how the base image is kept up to date:

Strategy Behavior
Manual The image is only pulled when you trigger it yourself (default)
Weekly The latest base image is pulled and the service image rebuilt every week
Monthly The latest base image is pulled and the service image rebuilt every month
Quarterly The latest base image is pulled and the service image rebuilt every three months

Automatic pulls only run for running services and are checked once per day.

#Pulling manually

You can trigger a pull at any time, regardless of the strategy:

  • On the service page, open Rerun Steps and click Pull Image
  • In the services list, open the row actions menu and click Pull Image
  • To pull for several services at once, select them in the services list and use the Queue: Pull Image bulk action

Pulling only downloads the latest base image and rebuilds the service image. The running container keeps using the old image until the next Restart or Redeploy — there is no downtime when pulling.

Every pull is recorded in the service's Actions tab and timeline, and the Last image pull column in the services list shows when each service last pulled its image.

#Configuring Odoo settings

The Extra Configuration section allows you to add custom Odoo configuration settings directly to your service. These settings are injected into the Odoo configuration file (.odoorc) when the service starts.

#Adding configuration

  1. Open the service you want to configure
  2. Expand the Extra Configuration section (collapsed by default)
  3. Add key-value pairs for your settings
  4. Save the changes
  5. Restart the service for the new settings to take effect

#Common settings

Setting Description Example
limit_memory_hard Hard memory limit per worker (bytes) 2684354560
limit_memory_soft Soft memory limit per worker (bytes) 2147483648
limit_time_cpu CPU time limit per request (seconds) 600
limit_time_real Real time limit per request (seconds) 1200
workers Number of worker processes 4
max_cron_threads Maximum cron worker threads 2

Changes to configuration settings require a service restart to take effect. Use the Restart button after saving your changes.

Avoid newline characters in configuration values — they are not supported and will cause validation errors.

#Viewing live logs

You can stream the Odoo container logs in real-time directly from the service page. This is useful for debugging issues, monitoring startup behavior, or watching request activity.

#How to view logs

  1. Open a running service
  2. Click the View Logs button in the header
  3. A slide-over panel opens and begins streaming logs in real-time

The log viewer shows both standard output and error output (highlighted in yellow). Logs are streamed live for up to 5 minutes per session. You can close the panel and reopen it at any time to start a new session.

The View Logs button is only available when the service is running.

#Viewing actions

Every operation performed on a service is logged in the Actions tab. Each action shows:

  • The operation that was performed
  • Whether it succeeded or failed
  • When it ran
  • Detailed output (for troubleshooting)

This gives you a complete audit trail of everything that has happened to a service.

#Webhooks

Each service has a unique webhook token that allows external systems to send notifications to hav.sh. This is used for:

  • Syncing the list of installed modules
  • Tracking module upgrades
  • Integration with CI/CD pipelines