From 744a68d5b5e45f3af2b13171cfa1d2ba26d3b71b Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Tue, 26 May 2026 19:12:47 +0200 Subject: [PATCH] [bitnami/odoo] Release 19.0.20260501-debian-12-r6 (#94008) Signed-off-by: Bitnami Bot --- bitnami/odoo/19/debian-12/Dockerfile | 12 +++--- bitnami/odoo/19/debian-12/docker-compose.yml | 1 + ...22.3-0-linux-amd64-debian-12.tar.gz.sha256 | 1 + ...22.3-0-linux-arm64-debian-12.tar.gz.sha256 | 1 + ...0501-0-linux-amd64-debian-12.tar.gz.sha256 | 1 + ...0501-0-linux-arm64-debian-12.tar.gz.sha256 | 1 + ....4.0-0-linux-amd64-debian-12.tar.gz.sha256 | 1 + ....4.0-0-linux-arm64-debian-12.tar.gz.sha256 | 1 + ....13-11-linux-amd64-debian-12.tar.gz.sha256 | 1 + ....13-11-linux-arm64-debian-12.tar.gz.sha256 | 1 + ....9-165-linux-amd64-debian-12.tar.gz.sha256 | 1 + ....9-165-linux-arm64-debian-12.tar.gz.sha256 | 1 + .../prebuildfs/opt/bitnami/scripts/libfile.sh | 37 +++++++++++++++++++ .../rootfs/opt/bitnami/scripts/libodoo.sh | 21 ++++++++--- .../rootfs/opt/bitnami/scripts/odoo-env.sh | 2 +- bitnami/odoo/README.md | 2 +- bitnami/odoo/docker-compose.yml | 1 + 17 files changed, 72 insertions(+), 14 deletions(-) create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/node-22.22.3-0-linux-amd64-debian-12.tar.gz.sha256 create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/node-22.22.3-0-linux-arm64-debian-12.tar.gz.sha256 create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/odoo-19.0.20260501-0-linux-amd64-debian-12.tar.gz.sha256 create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/odoo-19.0.20260501-0-linux-arm64-debian-12.tar.gz.sha256 create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/postgresql-client-18.4.0-0-linux-amd64-debian-12.tar.gz.sha256 create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/postgresql-client-18.4.0-0-linux-arm64-debian-12.tar.gz.sha256 create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/python-3.12.13-11-linux-amd64-debian-12.tar.gz.sha256 create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/python-3.12.13-11-linux-arm64-debian-12.tar.gz.sha256 create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/render-template-1.0.9-165-linux-amd64-debian-12.tar.gz.sha256 create mode 100644 bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/render-template-1.0.9-165-linux-arm64-debian-12.tar.gz.sha256 diff --git a/bitnami/odoo/19/debian-12/Dockerfile b/bitnami/odoo/19/debian-12/Dockerfile index 72f03ed18b26..99968af13e15 100644 --- a/bitnami/odoo/19/debian-12/Dockerfile +++ b/bitnami/odoo/19/debian-12/Dockerfile @@ -7,7 +7,7 @@ ARG DOWNLOADS_URL="downloads.bitnami.com/files/stacksmith" ARG TARGETARCH LABEL org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \ - org.opencontainers.image.created="2026-05-23T10:04:59Z" \ + org.opencontainers.image.created="2026-05-26T16:26:43Z" \ org.opencontainers.image.description="Application packaged by Broadcom, Inc." \ org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/odoo/README.md" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/odoo" \ @@ -36,12 +36,12 @@ RUN --mount=type=secret,id=downloads_url,env=SECRET_DOWNLOADS_URL \ for COMPONENT in "${COMPONENTS[@]}"; do \ if [ ! -f "${COMPONENT}.tar.gz" ]; then \ curl -SsLf "https://${DOWNLOADS_URL}/${COMPONENT}.tar.gz" -O ; \ - curl -SsLf "https://${DOWNLOADS_URL}/${COMPONENT}.tar.gz.sha256" -O ; \ fi ; \ - sha256sum -c "${COMPONENT}.tar.gz.sha256" ; \ + sha256sum -c "/opt/bitnami/checksums/${COMPONENT}.tar.gz.sha256" ; \ tar -zxf "${COMPONENT}.tar.gz" -C /opt/bitnami --strip-components=2 --no-same-owner ; \ - rm -rf "${COMPONENT}".tar.gz{,.sha256} ; \ - done + rm -rf "${COMPONENT}".tar.gz ; \ + done ; \ + rm -rf /opt/bitnami/checksums ; RUN apt-get update && apt-get upgrade -y && \ apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives RUN find / -perm /6000 -type f -exec chmod a-s {} \; || true @@ -58,7 +58,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/odoo/postunpack.sh ENV APP_VERSION="19.0.20260501" \ BITNAMI_APP_NAME="odoo" \ - IMAGE_REVISION="5" \ + IMAGE_REVISION="6" \ LD_LIBRARY_PATH="/opt/bitnami/postgresql/lib:$LD_LIBRARY_PATH" \ PATH="/opt/bitnami/python/bin:/opt/bitnami/common/bin:/opt/bitnami/postgresql/bin:/opt/bitnami/node/bin:/opt/bitnami/odoo/bin:$PATH" diff --git a/bitnami/odoo/19/debian-12/docker-compose.yml b/bitnami/odoo/19/debian-12/docker-compose.yml index 548616165567..5dd2dc2ee8fb 100644 --- a/bitnami/odoo/19/debian-12/docker-compose.yml +++ b/bitnami/odoo/19/debian-12/docker-compose.yml @@ -22,6 +22,7 @@ services: environment: # ALLOW_EMPTY_PASSWORD is recommended only for development. - ALLOW_EMPTY_PASSWORD=yes + - ODOO_PASSWORD=bitnami - ODOO_DATABASE_HOST=postgresql - ODOO_DATABASE_PORT_NUMBER=5432 - ODOO_DATABASE_USER=bn_odoo diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/node-22.22.3-0-linux-amd64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/node-22.22.3-0-linux-amd64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..a057ca82a47d --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/node-22.22.3-0-linux-amd64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +8418dd355a61720073361f5aa88610116b0b68d450d482ed329be293508a0165 node-22.22.3-0-linux-amd64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/node-22.22.3-0-linux-arm64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/node-22.22.3-0-linux-arm64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..af2ef67e8cb1 --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/node-22.22.3-0-linux-arm64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +c1831f91a97dab2b38d086e3452bcbd4f0cb821a78ede71d166ca5c878cb4fa5 node-22.22.3-0-linux-arm64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/odoo-19.0.20260501-0-linux-amd64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/odoo-19.0.20260501-0-linux-amd64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..186672c46797 --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/odoo-19.0.20260501-0-linux-amd64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +c38da65df84335ab9555e8ff994b3f6bc15b4c71766c670eb14b3cf56003355a odoo-19.0.20260501-0-linux-amd64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/odoo-19.0.20260501-0-linux-arm64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/odoo-19.0.20260501-0-linux-arm64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..0b4e386f0c9a --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/odoo-19.0.20260501-0-linux-arm64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +860febcfd65d5143dfdc642d54fd292114cc15665d432d775ca76a7fcaafc3dd odoo-19.0.20260501-0-linux-arm64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/postgresql-client-18.4.0-0-linux-amd64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/postgresql-client-18.4.0-0-linux-amd64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..b7ca2505b7c2 --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/postgresql-client-18.4.0-0-linux-amd64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +94f47dda1a262952f801352ae6ba0c640a279384451c50d5bdfd354af008d76e postgresql-client-18.4.0-0-linux-amd64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/postgresql-client-18.4.0-0-linux-arm64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/postgresql-client-18.4.0-0-linux-arm64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..9017a72f7b84 --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/postgresql-client-18.4.0-0-linux-arm64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +b54111e298a44eacf4e41b1651c196d8aecd16f6b75b89c4a85c5e7f1a31bf26 postgresql-client-18.4.0-0-linux-arm64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/python-3.12.13-11-linux-amd64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/python-3.12.13-11-linux-amd64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..d8d64cc5e94a --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/python-3.12.13-11-linux-amd64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +a13e9f6ab18a719682fd94b0bdd131a771835c8cb707e2451c472a8b6927f3f7 python-3.12.13-11-linux-amd64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/python-3.12.13-11-linux-arm64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/python-3.12.13-11-linux-arm64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..694ac13e1718 --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/python-3.12.13-11-linux-arm64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +f79c0e2b0c9179091f9b06c650c757680b91a9f655538e85968cce732f150ab6 python-3.12.13-11-linux-arm64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/render-template-1.0.9-165-linux-amd64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/render-template-1.0.9-165-linux-amd64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..ecf216f2789c --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/render-template-1.0.9-165-linux-amd64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +374910c7361f00d393eca79a749d29f389b4522057902c7655f0a3a5ae3d1b32 render-template-1.0.9-165-linux-amd64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/render-template-1.0.9-165-linux-arm64-debian-12.tar.gz.sha256 b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/render-template-1.0.9-165-linux-arm64-debian-12.tar.gz.sha256 new file mode 100644 index 000000000000..e15b6bdd7577 --- /dev/null +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/checksums/render-template-1.0.9-165-linux-arm64-debian-12.tar.gz.sha256 @@ -0,0 +1 @@ +d492024d2d8261cfb147e7b508d341b91349fd41cf41aecd0706046be8cb108b render-template-1.0.9-165-linux-arm64-debian-12.tar.gz diff --git a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/scripts/libfile.sh b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/scripts/libfile.sh index 1c69e0e48a5d..335c1c7c9ef7 100644 --- a/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/scripts/libfile.sh +++ b/bitnami/odoo/19/debian-12/prebuildfs/opt/bitnami/scripts/libfile.sh @@ -139,3 +139,40 @@ wait_for_log_entry() { return 1 fi } + +######################## +# Creates a secure temporary file containing the provided secret +# Arguments: +# $1 - secret to write to the temporary file +# Returns: +# String +######################### +credential_to_temp_file() { + local secret="$1" + local tmp_file + + # Use mktemp with a specific prefix for easier debugging if something lingers + if ! tmp_file=$(mktemp "${TMPDIR:-/tmp}/at.cred.XXXXXXXX"); then + echo "Error: Failed to create temp file" >&2 + return 1 + fi + + # Restrict permissions before writing the secret + chmod 0600 "$tmp_file" + # Write secret and ensure it's flushed to disk + printf "%s" "$secret" > "$tmp_file" + # Output the filename so the caller can capture it + echo "$tmp_file" +} + +######################## +# Cleans up temporary files created by credential_to_temp_file +# Arguments: +# None +# Returns: +# None +######################### +cleanup_credentials() { + debug "Cleaning up temporary files containing credentials" + rm -rf "${TMPDIR:-/tmp}"/at.cred.* +} diff --git a/bitnami/odoo/19/debian-12/rootfs/opt/bitnami/scripts/libodoo.sh b/bitnami/odoo/19/debian-12/rootfs/opt/bitnami/scripts/libodoo.sh index 25c081f83d7a..2d8758ff8443 100644 --- a/bitnami/odoo/19/debian-12/rootfs/opt/bitnami/scripts/libodoo.sh +++ b/bitnami/odoo/19/debian-12/rootfs/opt/bitnami/scripts/libodoo.sh @@ -80,12 +80,11 @@ odoo_validate() { [[ -n "${WITHOUT_DEMO:-}" ]] && warn "The WITHOUT_DEMO environment variable has been deprecated in favor of ODOO_LOAD_DEMO_DATA=yes. Support for it may be removed in a future release." # Validate credentials + check_empty_value "ODOO_PASSWORD" if is_boolean_yes "${ALLOW_EMPTY_PASSWORD:-}"; then warn "You set the environment variable ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD:-}. For safety reasons, do not use this flag in a production environment." else - for empty_env_var in "ODOO_DATABASE_PASSWORD" "ODOO_PASSWORD"; do - is_empty_value "${!empty_env_var}" && print_validation_error "The ${empty_env_var} environment variable is empty or not set. Set the environment variable ALLOW_EMPTY_PASSWORD=yes to allow a blank password. This is only recommended for development environments." - done + is_empty_value "${ODOO_DATABASE_PASSWORD}" && print_validation_error "The ODOO_DATABASE_PASSWORD environment variable is empty or not set. Set the environment variable ALLOW_EMPTY_PASSWORD=yes to allow a blank password. This is only recommended for development environments." fi # Validate SMTP credentials @@ -93,8 +92,8 @@ odoo_validate() { for empty_env_var in "ODOO_SMTP_USER" "ODOO_SMTP_PASSWORD"; do is_empty_value "${!empty_env_var}" && warn "The ${empty_env_var} environment variable is empty or not set." done - is_empty_value "$ODOO_SMTP_PORT_NUMBER" && print_validation_error "The ODOO_SMTP_PORT_NUMBER environment variable is empty or not set." - ! is_empty_value "$ODOO_SMTP_PORT_NUMBER" && check_valid_port "ODOO_SMTP_PORT_NUMBER" + check_empty_value "ODOO_SMTP_PORT_NUMBER" + check_valid_port "ODOO_SMTP_PORT_NUMBER" ! is_empty_value "$ODOO_SMTP_PROTOCOL" && check_multi_value "ODOO_SMTP_PROTOCOL" "ssl tls" fi @@ -166,7 +165,17 @@ odoo_initialize() { odoo_execute "${init_args[@]}" info "Updating admin user credentials" - postgresql_remote_execute "${db_execute_args[@]}" <<< "UPDATE res_users SET login = '${ODOO_EMAIL}', password = '${ODOO_PASSWORD}' WHERE login = 'admin'" + local _hashed_pw + _hashed_pw="$(python3 - "${ODOO_PASSWORD}" <<'PYEOF' +import sys, os, hashlib, base64 +def b64s(data): + return base64.b64encode(data).rstrip(b'=').replace(b'+', b'.').decode('ascii') +rounds, salt = 25000, os.urandom(16) +dk = hashlib.pbkdf2_hmac('sha512', sys.argv[1].encode('utf-8'), salt, rounds, dklen=64) +sys.stdout.write('$pbkdf2-sha512${}${}${}'.format(rounds, b64s(salt), b64s(dk))) +PYEOF +)" + postgresql_remote_execute "${db_execute_args[@]}" <<< "UPDATE res_users SET login = '${ODOO_EMAIL}', password = '${_hashed_pw}' WHERE login = 'admin'" else info "An already initialized Odoo database was provided, configuration will be skipped" # Odoo stores a cache of the full path to cached .css/.js files in the filesystem diff --git a/bitnami/odoo/19/debian-12/rootfs/opt/bitnami/scripts/odoo-env.sh b/bitnami/odoo/19/debian-12/rootfs/opt/bitnami/scripts/odoo-env.sh index 57d784f70142..081024042d2d 100644 --- a/bitnami/odoo/19/debian-12/rootfs/opt/bitnami/scripts/odoo-env.sh +++ b/bitnami/odoo/19/debian-12/rootfs/opt/bitnami/scripts/odoo-env.sh @@ -100,7 +100,7 @@ export ODOO_LIST_DB="${ODOO_LIST_DB:-no}" # only used during the first initializ # Odoo credentials export ODOO_EMAIL="${ODOO_EMAIL:-user@example.com}" # only used during the first initialization -export ODOO_PASSWORD="${ODOO_PASSWORD:-bitnami}" # only used during the first initialization +export ODOO_PASSWORD="${ODOO_PASSWORD:-}" # only used during the first initialization # Odoo SMTP credentials ODOO_SMTP_HOST="${ODOO_SMTP_HOST:-"${SMTP_HOST:-}"}" diff --git a/bitnami/odoo/README.md b/bitnami/odoo/README.md index 5b11436d6b87..ac3763e151c9 100644 --- a/bitnami/odoo/README.md +++ b/bitnami/odoo/README.md @@ -89,7 +89,7 @@ The following tables list the main variables you can set. | `ODOO_LOAD_DEMO_DATA` | Whether to load demo data. | `no` | | `ODOO_LIST_DB` | Whether the database selector is available. | `no` | | `ODOO_EMAIL` | Odoo user e-mail address. | `user@example.com` | -| `ODOO_PASSWORD` | Odoo user password. | `bitnami` | +| `ODOO_PASSWORD` | Odoo user password. | `nil` | | `ODOO_SMTP_HOST` | Odoo SMTP server host. | `nil` | | `ODOO_SMTP_PORT_NUMBER` | Odoo SMTP server port number. | `nil` | | `ODOO_SMTP_USER` | Odoo SMTP server user. | `nil` | diff --git a/bitnami/odoo/docker-compose.yml b/bitnami/odoo/docker-compose.yml index 548616165567..5dd2dc2ee8fb 100644 --- a/bitnami/odoo/docker-compose.yml +++ b/bitnami/odoo/docker-compose.yml @@ -22,6 +22,7 @@ services: environment: # ALLOW_EMPTY_PASSWORD is recommended only for development. - ALLOW_EMPTY_PASSWORD=yes + - ODOO_PASSWORD=bitnami - ODOO_DATABASE_HOST=postgresql - ODOO_DATABASE_PORT_NUMBER=5432 - ODOO_DATABASE_USER=bn_odoo