From 9ec614aa234541da076d9ac94fc8b4c0c2c4a5d9 Mon Sep 17 00:00:00 2001 From: Ruslan Bakiev <572431+veikab@users.noreply.github.com> Date: Fri, 13 Feb 2026 12:49:23 +0700 Subject: [PATCH] fix: make Dockerfile self-contained without entrypoint.py --- odoo/Dockerfile | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/odoo/Dockerfile b/odoo/Dockerfile index 85356a1..39addf3 100644 --- a/odoo/Dockerfile +++ b/odoo/Dockerfile @@ -4,7 +4,7 @@ MAINTAINER Odoo S.A. SHELL ["/bin/bash", "-xo", "pipefail", "-c"] -ENV LANG en_US.UTF-8 +ENV LANG=en_US.UTF-8 ARG TARGETARCH @@ -70,7 +70,7 @@ RUN echo 'deb http://apt.postgresql.org/pub/repos/apt/ noble-pgdg main' > /etc/a RUN npm install -g rtlcss # Install Odoo -ENV ODOO_VERSION 19.0 +ENV ODOO_VERSION=19.0 ARG ODOO_RELEASE=20260118 ARG ODOO_SHA=9cb5691e31d2d8831887e85cc07268016f522f4d RUN curl -o odoo.deb -sSL http://nightly.odoo.com/${ODOO_VERSION}/nightly/deb/odoo_${ODOO_VERSION}.${ODOO_RELEASE}_all.deb \ @@ -84,14 +84,34 @@ RUN mkdir -p /var/lib/odoo /mnt/extra-addons \ && chown -R odoo:odoo /var/lib/odoo /mnt/extra-addons \ && chmod -R u+w /var/lib/odoo -# Copy entrypoint script -COPY ./entrypoint.py /entrypoint.py +# Build self-contained entrypoint in image (no external files required) +RUN printf '%s\n' \ + '#!/usr/bin/env bash' \ + 'set -e' \ + '' \ + 'odoo_cmd=(odoo)' \ + '' \ + 'if [ -n "${ODOO_RC:-}" ] && [ -f "${ODOO_RC}" ]; then' \ + ' odoo_cmd+=(-c "${ODOO_RC}")' \ + 'elif [ -f /etc/odoo/odoo.conf ]; then' \ + ' odoo_cmd+=(-c /etc/odoo/odoo.conf)' \ + 'fi' \ + '' \ + '[ -n "${ODOO_DB_HOST:-}" ] && odoo_cmd+=(--db_host="${ODOO_DB_HOST}")' \ + '[ -n "${ODOO_DB_PORT:-}" ] && odoo_cmd+=(--db_port="${ODOO_DB_PORT}")' \ + '[ -n "${ODOO_DB_USER:-}" ] && odoo_cmd+=(--db_user="${ODOO_DB_USER}")' \ + '[ -n "${ODOO_DB_PASSWORD:-}" ] && odoo_cmd+=(--db_password="${ODOO_DB_PASSWORD}")' \ + '[ -n "${ODOO_DB_NAME:-}" ] && odoo_cmd+=(-d "${ODOO_DB_NAME}")' \ + '' \ + 'exec "${odoo_cmd[@]}"' \ + > /entrypoint.sh \ + && chmod +x /entrypoint.sh # Expose Odoo services EXPOSE 8069 8071 8072 -ENV ODOO_RC /etc/odoo/odoo.conf +ENV ODOO_RC=/etc/odoo/odoo.conf USER odoo -CMD ["python3", "/entrypoint.py"] +CMD ["/entrypoint.sh"]