Skip to Content

Addon Modules

Addon Modules is where you bring your own or third-party Odoo modules into Norcloud and deploy them to your instances. It works in two stages:

  1. Install the module into Norcloud: upload it or clone it from Git, then choose which of the modules inside it you want.
  2. Deploy it to your instances: pick the Templates and Hosts it should go to, and Norcloud copies it in and, if you want, installs it for you.

Evaluations and Hosts launched from a Template include the modules deployed to it.

The Addon Modules menu has two items: Modules, your list of modules, and Deployment, every deployment of every module in one place.

Before you start

  • Deploy targets. A module can be deployed to a Template or Host that is running, registered for maintenance and on the same Odoo version as the module.
  • Uninstalling is risky. As Odoo itself warns, uninstalling a module can damage a database, because installing it may have changed data and other modules. Norcloud can't make that safer. Before trying a module out, make a copy of your Template/Host (Copy Template / Copy Host) and use that.
  • Python dependencies. Norcloud won't deploy a module until every Python package it declares is already installed on the target instance. See Python dependencies.

Odoo's warning when uninstalling a module

Adding a module

Open Addon Modules → Modules and click New. The editable fields are on the left.

A new module form

Field What to enter
Name Your name for the module. It doesn't have to match the technical name.
Module Name Filled in by Norcloud when the module is installed.
Origin Where the code comes from: Upload (a .zip file) or Git (a repository). Odoo Store is coming soon.
Deploy to None to install it into Norcloud only, for now. Instance to deploy it to chosen Templates and Hosts. Global to make it available to all your instances; you then install it yourself in each instance that needs it. (Global deployments are not currently available and may be removed)
Target Odoo Version The Odoo version the module is written for. A module that supports several versions must be added once per version.
Autoinstall module Installs the module in each instance automatically when it's deployed. Otherwise, it's deployed but you install it yourself from Odoo's Apps menu. Not available for Odoo 16 or for Global modules.

For a Git module, also fill in:

Field What to enter
Git Provider GitHub, GitLab or Bitbucket.
Git API/SSH Key A key with read access, needed for a private repository.
Repository The repository, for example user/repo.
Branch/Tag/Commit Leave empty for the default branch.

Repository URL shows the full address Norcloud will use, so you can check it.

Click Create Module to save it.

Uploading or cloning the code

For an Upload module, click Upload Module. Choose your .zip file, which must be in Odoo's standard module format, and click Process.

Placeholder: the Upload module window

Placeholder: a processed upload

For a Git module, click Clone Repo and Norcloud fetches the code from your repository.

Either way, the module moves to Received and the Install Module button appears.

A received module, ready to install

If you uploaded the wrong file, Delete Module removes it so you can start again.

Installing into Norcloud

Click Install Module. A window lists the Odoo modules found in your upload or repository, with their technical names, versions and categories. Tick the ones you want and click Install Selected. If any of them need Python packages, the window says so.

The module is now Installed. Module Name is filled in, and the Installed Modules tab lists what was installed. Alter Installation reopens the same window if you want to change the selection.

A module's installed sub-modules

An installed module

Uninstall Module removes an installed module from Norcloud while it isn't deployed anywhere.

Deploying to your instances

Click Deploy Module. It only appears when Deploy to is set to Instance or Global; you can change that setting until the module is deployed. Norcloud lists each module against every Template and Host you can deploy it to.

Placeholder: the deployment list for a module

Tick the rows you want and click Deploy Selected. Norcloud copies the module into each instance and, if Autoinstall module is on, installs it. Each row's status shows how far it's got, and Deployed is switched on when it's done. The module's state changes to Selectively Deployed.

Placeholder: a deployed module

To change where the module is deployed, click Alter Deployment. Tick rows and click Remove Selected to take the module off those instances. If a deployment stopped partway through, a Repair button appears on its row to help you finish or undo it.

A module deployed globally has an Undeploy Module button instead.

Trying it in an Evaluation

Once a module is deployed to a Template, launch an Evaluation from that Template: the module is included. If the Template has Install Demo Data on Evaluation on, the module's demo data is loaded too.

A deployed module in an Evaluation

A deployed module's demo data in an Evaluation

Python dependencies

Some modules need Python packages (their manifest's external_dependencies). Norcloud doesn't install these automatically: each package must already be installed on the target instance before the module can be deployed there.

The deployment list has a Dependencies column. Unsatisfied dependencies means a package is missing on that instance, and Dependency detail says which one. To fix it:

  1. Open the Template or Host and click Edit Config.
  2. Switch to requirements.txt, add the package on its own line, and click Full Restart. See Editing configuration files.
  3. Back in the deployment list, click Re-check Dependencies, then deploy.

The Deployment menu

Addon Modules → Deployment lists every deployment of every module, so you can manage several modules and instances at once. Select rows, then use Actions → Deploy Selected or Undeploy Selected.

Coming soon

  • Update Download and Update Repo: loading a new version of an installed module.
  • Upgrade Module: upgrading a deployed module in your instances.
  • Odoo Store as a module origin.

Module states

State Meaning
Initial / Draft Created, waiting for its code.
Received Code uploaded or cloned, ready to install.
Installed Installed into Norcloud, not deployed yet.
Selectively Deployed Deployed to chosen instances.
Globally Deployed Available to all your instances.
Error Something went wrong; check the Module Log tab.

The Module Log tab records every step for the module and its deployments, with errors highlighted.