Product Guide
Addon Repos
Overview

Addon Repositories

Addon repositories let you include extra Odoo modules in your projects. These are Git repositories containing custom addons: your organization's proprietary modules, community addons from OCA, or the official Odoo Enterprise repository.

Addon Tiers

OEC.sh organizes addon repositories in three tiers:

  1. Platform Addons: Available to all organizations (managed by portal admins)
  2. Organization Addons: Shared across all projects in your organization
  3. Project Addons: Specific to a single project

When the same addon exists at multiple levels, project-level takes priority over organization, and organization takes priority over platform.

Adding an Addon Repository

Add Organization Addon Repository

If you have Git connections configured, use the smart selection workflow:

  1. Go to Settings > Addon Repos tab
  2. Click Add Repository
  3. Step 1: Select a Git connection
  4. Step 2: Select a repository from your connection
  5. Step 3: Select a branch
  6. Step 4: Configure details (name is auto-filled)
  7. Click Save

The slug is automatically generated from the repository name.

Alternative: Enter URL Manually

If you prefer to enter the repository URL directly, or don't have Git connections:

  1. Click Enter URL manually instead (or if no connections exist, this is shown by default)
  2. Enter the Git repository URL (e.g., https://github.com/org/repo.git)
  3. Enter the Git branch name
  4. Fill in the name and optional description
  5. Toggle Public repository if no authentication is needed
  6. Click Save

Add Project-Specific Addon Repository

  1. Open your project
  2. Go to the Settings tab
  3. Scroll to Project Addons
  4. Click Add Repository
  5. Enter the repository details:
    • Git URL: The repository URL
    • Branch: The Git branch to use
    • Priority: Controls loading order (lower = higher priority)
  6. Click Save

Repository Settings

Each addon repository has these settings:

  • Name: A display name for the repository
  • Slug: Auto-generated URL-friendly identifier (locked after creation)
  • Description: Optional description
  • Git URL: The repository URL
  • Branch: The Git branch to use
  • Priority: Loading order (default: 100, lower values load first)
  • Public/Private: Toggle based on repository visibility
  • Install Dependencies: Enable to install requirements.txt and apt.txt

Repository Status

Each repository shows a status indicator:

  • Active (green dot): Repository is included in deployments
  • Disabled (gray dot): Repository is configured but not used

Click the toggle button to enable or disable a repository without deleting it.

Selecting Addons for a Project

Projects can choose which platform and organization addons to include:

  1. Open your project
  2. Go to the Settings tab
  3. Find the Shared Addons section
  4. Click Browse Addons to open the selection modal
  5. Use the search and filter options to find addons
  6. Select the addons you want to include
  7. Click Apply to save your selections

Selected addons will be included in the next deployment.

How Addons Are Deployed

During deployment, OEC.sh clones all selected addon repositories, installs Python and system packages listed in requirements.txt and apt.txt, and makes the addons available in Odoo's Apps menu.

Per-Environment Addon Overrides

By default, environments inherit all addon repositories configured at the project level. You can customize which addons are included and which branches they use per environment.

Excluding Addons from an Environment

  1. Go to your Environment > Repositories tab
  2. Find the addon repository you want to exclude
  3. Toggle the switch to OFF (disabled state)
  4. Click Save Changes
  5. Redeploy the environment for changes to take effect

For example, you might exclude development or testing addons from production, or skip heavy addons on resource-constrained environments.

Branch Overrides per Environment

Override the branch for specific addon repositories per environment:

  1. Go to your Environment > Repositories tab
  2. Find the addon repository you want to override
  3. Click the Branch dropdown
  4. Select a different branch (e.g., 19.0-dev instead of 19.0)
  5. Click Save Changes
  6. Redeploy the environment for changes to take effect

Common Scenarios:

  • Production: Use stable branches (e.g., 19.0, main)
  • Staging: Use release candidate branches (e.g., 19.0-rc, staging)
  • Development: Use development branches (e.g., 19.0-dev, develop)
⚠️

Branch overrides are specific to each environment. Changing the branch for an addon in one environment does not affect other environments.

Viewing Environment-Specific Configuration

The Repositories tab shows:

  • Inherited addons: All project-level addon repositories
  • Toggle status: ON (included) or OFF (excluded) per environment
  • Branch: Current branch being used (with override indicator if different from default)
  • Override badge: Displayed when branch differs from project default

Managing Dependencies

Addon repositories can include dependency files:

  • requirements.txt: Python packages to install
  • apt.txt: System packages to install

Enable the Install dependencies from this repository option when adding a repository to have these installed automatically during deployment.

Removing an Addon Repository

Remove from Organization

  1. Go to Settings > Addon Repos
  2. Find the repository you want to remove
  3. Click the delete icon
  4. Confirm the deletion

Remove from Project

  1. Open your project
  2. Go to Settings > Project Addons
  3. Click the delete icon next to the repository
  4. Confirm the deletion

Note: Removing a repository requires redeployment for changes to take effect. Uninstall any installed addons from Odoo first to avoid errors.

Private Repository Authentication

For private repositories:

  1. First set up a Git connection in Settings > Git Connections
  2. When adding the addon repository, the smart selection workflow uses your connection automatically
  3. For manual entry, disable the "Public repository" toggle and select your connection
  4. The connection provides authentication during deployment

See the Git Connections guide for details on setting up authentication.