Sign inSign up

dedicata/odoo

By dedicata

•Updated about 9 hours ago

Versioned custom Odoo images for Dedicata, pinned to upstream Odoo commits.

Image
0

10K+

dedicata/odoo repository overview

⁠dedicata/odoo

Versioned custom Odoo images for Dedicata, pinned to upstream Odoo commits and published to Docker Hub with stable aliases plus immutable release tags.

⁠Supported tags

TagMeaning
17.0Latest published image for the Odoo 17.0 line
17Alias for the latest 17.0 image
18.0Latest published image for the Odoo 18.0 line
18Alias for the latest 18.0 image
19.0Latest published image for the Odoo 19.0 line
19Alias for the latest 19.0 image
20.0Latest published image for the Odoo 20.0 line (lean image, see below)
20Alias for the latest 20.0 image
latestAlias for the 19.0 line

⁠Versioning

  • Each image is pinned to a specific upstream commit from the corresponding stable branch in odoo/odoo.
  • Every publish also creates an immutable tag in the format X.Y-YYYYMMDD-<shortsha>, such as 19.0-20261011-2cc17f7.
  • Moving aliases like 19.0, 19, and latest are updated to the newest immutable tag of that line.
  • The Docker build context is generated from the repository and committed, so the image source stays auditable.

⁠What is included

Besides the pinned upstream Odoo source, these images also pin:

  • ghcr.io/acsone/odoo-bedrock as the base image
  • odoo/design-themes
  • OCA/server-auth
  • OCA/server-tools/module_change_auto_install
  • Dedicata addons for default Keycloak OIDC bootstrap and Run user provisioning
  • itbrasil-odoo/themes

The 20.0 image is lean: it ships only Odoo and odoo/design-themes, on the 19.0 odoo-bedrock base, without OCA/server-auth, OCA/server-tools, the Dedicata addons and itbrasil-odoo/themes. The Keycloak and Run identity settings below do not apply to it.

OCI labels are published with the source repository, image revision, base image digest, and the exact upstream commits used for Odoo, odoo/design-themes, OCA/server-auth, OCA/server-tools, itbrasil-odoo/themes, the Dedicata addons (run-identity.commit) and Odoo Enterprise (odoo.enterprise.commit).

⁠Odoo Enterprise

The Enterprise code is not inside the image. Each image is pinned to one odoo/enterprise commit, exposed as the odoo.enterprise.commit label and the ODOO_ENTERPRISE_COMMIT environment variable.

Mount a folder holding one Enterprise copy per commit (<folder>/<commit>/) read-only at /odoo/enterprise-copies. At startup the entrypoint links /odoo/src/enterprise to the copy matching the image's commit, and stops with an error if that copy does not appear. The odoo-enterprise tool in the source repository keeps that folder up to date on the host.

  • ODOO_ENTERPRISE_COPIES_DIR: optional; folder with the copies, defaults to /odoo/enterprise-copies.
  • ODOO_ENTERPRISE_WAIT: optional; how many 5-second attempts to wait for the copy, defaults to 60.

The Portuguese names used by earlier images (ODOO_ENTERPRISE_COPIAS, ODOO_ENTERPRISE_ESPERA and the mount point /odoo/enterprise-copias) still work and print a deprecation warning at startup.

Without that folder mounted, or with an Enterprise already mounted with content at /odoo/src/enterprise, nothing is changed.

⁠Environment variables

This image inherits the runtime configuration mechanism from odoo-bedrock. These variables are used to generate $ODOO_RC at /etc/odoo.cfg.

Odoo options:

  • ADDONS_PATH
  • ADMIN_PASSWD
  • DB_FILTER
  • DB_HOST
  • DB_REPLICA_HOST (>=18)
  • DB_MAXCONN
  • DB_MAXCONN_GEVENT (>=17)
  • DB_NAME
  • DB_PASSWORD
  • DB_PORT
  • DB_REPLICA_PORT (>=18)
  • DB_SSLMODE
  • DB_TEMPLATE
  • DB_USER
  • LIMIT_MEMORY_HARD
  • LIMIT_MEMORY_HARD_GEVENT (>=18)
  • LIMIT_MEMORY_SOFT
  • LIMIT_MEMORY_SOFT_GEVENT (>=18)
  • LIMIT_REQUEST
  • LIMIT_TIME_CPU
  • LIMIT_TIME_REAL
  • LIMIT_TIME_REAL_CRON (>=11)
  • LIST_DB
  • LOG_DB
  • LOG_HANDLER
  • LOG_LEVEL
  • LOGFILE
  • MAX_CRON_THREADS
  • SERVER_WIDE_MODULES (>=10)
  • SYSLOG
  • UNACCENT
  • WITH_DEMO (>=19)
  • WITHOUT_DEMO
  • WORKERS

Other variables that affect $ODOO_RC:

  • RUNNING_ENV: sets options.running_env for use by the OCA server_environment⁠ module.
  • ADDITIONAL_ODOO_RC: appended verbatim at the end of $ODOO_RC.

Warning for Odoo 19:

  • Starting with Odoo 19, running_env is no longer written into $ODOO_RC because it causes an Odoo warning and is redundant with the native environment variable support in server_environment.

Tip:

  • Recent versions of server_environment support SERVER_ENV_CONFIG and SERVER_ENV_CONFIG_SECRET, which are usually better alternatives than ADDITIONAL_ODOO_RC.

The following environment variables are also processed by the entrypoint. In this image, psql is installed by default, and these hooks are applied when DB_NAME points to an existing and initialized database:

  • ODOO_BASE_URL: sets the web.base.url system parameter and forces web.base.url.freeze to True.
  • ODOO_REPORT_URL: sets the report.url system parameter.

Dedicata SSO switch:

  • DEDICATA_SSO: optional; set to 0 to start without the SSO modules. The OCA/server-auth and Dedicata addons directories are removed from ADDONS_PATH.

Keycloak OIDC defaults:

  • DEDICATA_KEYCLOAK_ISSUER_URL: Keycloak realm issuer URL, for example https://keycloak.example.com/realms/customer.
  • DEDICATA_KEYCLOAK_CLIENT_ID: Odoo client ID in Keycloak.
  • DEDICATA_KEYCLOAK_CLIENT_SECRET: Odoo client secret in Keycloak.
  • DEDICATA_KEYCLOAK_ENABLED: optional; set to false, 0, no, or off to disable the provider.
  • DEDICATA_KEYCLOAK_PROVIDER_NAME: optional; defaults to Keycloak.
  • DEDICATA_KEYCLOAK_LOGIN_LABEL: optional; defaults to Login with Keycloak.
  • DEDICATA_KEYCLOAK_SCOPE: optional; defaults to openid email profile.
  • DEDICATA_KEYCLOAK_TOKEN_MAP: optional; defaults to sub:user_id email:email.
  • DEDICATA_KEYCLOAK_LOCK_PROVIDER_CONFIG: optional; defaults to true and blocks UI/ORM edits to the managed provider fields.

Run identity provisioning defaults:

  • DEDICATA_RUN_IDENTITY_BLOCK_OAUTH_AUTO_CREATE: optional; defaults to true and prevents SSO from creating users outside Run.
  • DEDICATA_RUN_IDENTITY_DISABLE_PASSWORD_LOGIN: optional; defaults to true and blocks interactive password login when Keycloak is enabled.
  • DEDICATA_RUN_IDENTITY_HIDE_PASSWORD_FORM: optional; defaults to true and hides the Odoo password form when Keycloak is enabled.
  • DEDICATA_RUN_IDENTITY_LOCAL_LOGIN_ALLOWLIST: optional; defaults to admin.
  • DEDICATA_RUN_IDENTITY_DEFAULT_GROUP_XMLIDS: optional; defaults to base.group_user.
  • DEDICATA_RUN_IDENTITY_LOCK_USER_IDENTITY: optional; defaults to true and blocks UI/ORM edits to identity fields of users managed by Run.

New databases automatically install OCA auth_oidc, the Dedicata Keycloak bootstrap addon, and the Run identity provisioning addon. If the issuer URL or client ID is missing, the provider is kept disabled.

⁠Minimal usage

Pull the moving tag for a stable line:

docker pull dedicata/odoo:19.0

Pull an immutable image for a fully repeatable deployment:

docker pull dedicata/odoo:19.0-20261011-2cc17f7

Use it as a base image in your own customization layer:

FROM dedicata/odoo:19.0

⁠Source and issues


⁠dedicata/odoo

Imagens customizadas versionadas do Odoo para a Dedicata, fixadas em commits upstream do Odoo e publicadas no Docker Hub com aliases estáveis e tags imutáveis.

⁠Tags suportadas

TagSignificado
17.0Imagem publicada mais recente da linha Odoo 17.0
17Alias para a imagem 17.0 mais recente
18.0Imagem publicada mais recente da linha Odoo 18.0
18Alias para a imagem 18.0 mais recente
19.0Imagem publicada mais recente da linha Odoo 19.0
19Alias para a imagem 19.0 mais recente
20.0Imagem publicada mais recente da linha Odoo 20.0 (imagem enxuta, veja abaixo)
20Alias para a imagem 20.0 mais recente
latestAlias para a linha 19.0

⁠Versionamento

  • Cada imagem é fixada em um commit específico do branch estável correspondente em odoo/odoo.
  • Cada publicação também cria uma tag imutável no formato X.Y-YYYYMMDD-<shortsha>, como 19.0-20261011-2cc17f7.
  • Aliases mutáveis como 19.0, 19 e latest são movidos para a tag imutável mais recente daquela linha.
  • O contexto de build Docker é gerado a partir deste repositório e versionado no Git, mantendo a rastreabilidade da imagem.

⁠O que a imagem inclui

Além do código do Odoo fixado, estas imagens também fixam:

  • ghcr.io/acsone/odoo-bedrock como imagem base
  • odoo/design-themes
  • OCA/server-auth
  • OCA/server-tools/module_change_auto_install
  • addons Dedicata para bootstrap padrao de OIDC com Keycloak e provisionamento de usuarios pelo Run
  • itbrasil-odoo/themes

A imagem 20.0 é enxuta: traz apenas o Odoo e o odoo/design-themes, sobre a base odoo-bedrock da 19.0, sem OCA/server-auth, OCA/server-tools, os addons Dedicata e o itbrasil-odoo/themes. As configurações de Keycloak e de identidade do Run não se aplicam a ela.

Labels OCI são publicadas com o repositório de origem, revisão da imagem, digest da imagem base e os commits exatos usados para o Odoo, odoo/design-themes, OCA/server-auth, OCA/server-tools, itbrasil-odoo/themes, os addons Dedicata (run-identity.commit) e o Odoo Enterprise (odoo.enterprise.commit).

⁠Odoo Enterprise

O código do Enterprise não está dentro da imagem. Cada imagem é fixada em um commit do odoo/enterprise, exposto na label odoo.enterprise.commit e na variável de ambiente ODOO_ENTERPRISE_COMMIT.

Monte uma pasta com uma cópia do Enterprise por commit (<pasta>/<commit>/), somente leitura, em /odoo/enterprise-copies. Na inicialização, o entrypoint liga /odoo/src/enterprise à cópia do commit da própria imagem e encerra com erro se essa cópia não aparecer. A ferramenta odoo-enterprise, no repositório de origem, mantém essa pasta atualizada no servidor.

  • ODOO_ENTERPRISE_COPIES_DIR: opcional; pasta com as cópias, padrão /odoo/enterprise-copies.
  • ODOO_ENTERPRISE_WAIT: opcional; quantas tentativas de 5 segundos esperar pela cópia, padrão 60.

Os nomes em português usados pelas imagens anteriores (ODOO_ENTERPRISE_COPIAS, ODOO_ENTERPRISE_ESPERA e o ponto de montagem /odoo/enterprise-copias) continuam funcionando e imprimem um aviso de descontinuação na inicialização.

Sem essa pasta montada, ou com um Enterprise já montado com conteúdo em /odoo/src/enterprise, nada é alterado.

⁠Variáveis de ambiente

Esta imagem suporta o mesmo modelo de configuração herdado do odoo-bedrock, gerando o ODOO_RC a partir de variáveis de ambiente.

  • A lista detalhada das opções suportadas está na seção Environment variables acima.
  • RUNNING_ENV, ADDITIONAL_ODOO_RC, ODOO_BASE_URL e ODOO_REPORT_URL também são suportadas.
  • As marcações >=17, >=18 e >=19 indicam em quais linhas de versão cada variável está disponível.
  • Em Odoo 19, RUNNING_ENV continua suportada, mas running_env não é mais escrito no ODOO_RC.
  • DEDICATA_SSO=0 inicia sem os módulos de SSO: os diretórios do OCA/server-auth e dos addons Dedicata saem do ADDONS_PATH.
  • Novas bases instalam auth_oidc e os addons Dedicata automaticamente, criam o provider Keycloak a partir de DEDICATA_KEYCLOAK_ISSUER_URL, DEDICATA_KEYCLOAK_CLIENT_ID e DEDICATA_KEYCLOAK_CLIENT_SECRET, e expõem dedicata.run.identity para provisionamento via JSON-RPC.

⁠Uso mínimo

Baixe a tag mutável de uma linha estável:

docker pull dedicata/odoo:19.0

Baixe uma imagem imutável para um deploy totalmente reprodutível:

docker pull dedicata/odoo:19.0-20261011-2cc17f7

Use a imagem como base da sua própria camada de customização:

FROM dedicata/odoo:19.0

⁠Código-fonte e issues

Tag summary

Content type

Image

Digest

sha256:07f0bf65c…

Size

691.7 MB

Last updated

about 9 hours ago

docker pull dedicata/odoo