[bitnami/odoo] Release 19.0.20260501-debian-12-r6 (#94008)

Signed-off-by: Bitnami Bot <bitnami.bot@broadcom.com>
This commit is contained in:
Bitnami Bot
2026-05-26 19:12:47 +02:00
committed by GitHub
parent 3edc868380
commit 744a68d5b5
17 changed files with 72 additions and 14 deletions
+6 -6
View File
@@ -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"
@@ -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
@@ -0,0 +1 @@
8418dd355a61720073361f5aa88610116b0b68d450d482ed329be293508a0165 node-22.22.3-0-linux-amd64-debian-12.tar.gz
@@ -0,0 +1 @@
c1831f91a97dab2b38d086e3452bcbd4f0cb821a78ede71d166ca5c878cb4fa5 node-22.22.3-0-linux-arm64-debian-12.tar.gz
@@ -0,0 +1 @@
c38da65df84335ab9555e8ff994b3f6bc15b4c71766c670eb14b3cf56003355a odoo-19.0.20260501-0-linux-amd64-debian-12.tar.gz
@@ -0,0 +1 @@
860febcfd65d5143dfdc642d54fd292114cc15665d432d775ca76a7fcaafc3dd odoo-19.0.20260501-0-linux-arm64-debian-12.tar.gz
@@ -0,0 +1 @@
94f47dda1a262952f801352ae6ba0c640a279384451c50d5bdfd354af008d76e postgresql-client-18.4.0-0-linux-amd64-debian-12.tar.gz
@@ -0,0 +1 @@
b54111e298a44eacf4e41b1651c196d8aecd16f6b75b89c4a85c5e7f1a31bf26 postgresql-client-18.4.0-0-linux-arm64-debian-12.tar.gz
@@ -0,0 +1 @@
a13e9f6ab18a719682fd94b0bdd131a771835c8cb707e2451c472a8b6927f3f7 python-3.12.13-11-linux-amd64-debian-12.tar.gz
@@ -0,0 +1 @@
f79c0e2b0c9179091f9b06c650c757680b91a9f655538e85968cce732f150ab6 python-3.12.13-11-linux-arm64-debian-12.tar.gz
@@ -0,0 +1 @@
374910c7361f00d393eca79a749d29f389b4522057902c7655f0a3a5ae3d1b32 render-template-1.0.9-165-linux-amd64-debian-12.tar.gz
@@ -0,0 +1 @@
d492024d2d8261cfb147e7b508d341b91349fd41cf41aecd0706046be8cb108b render-template-1.0.9-165-linux-arm64-debian-12.tar.gz
@@ -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.*
}
@@ -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
@@ -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:-}"}"
+1 -1
View File
@@ -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` |
+1
View File
@@ -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