From 97be2efe2d869a8153fb712368910765840048c0 Mon Sep 17 00:00:00 2001 From: Marco Olimpi Date: Tue, 19 May 2026 10:52:14 +0200 Subject: [PATCH] Update Services/odoo/odoo-oca.Containerfile --- Services/odoo/odoo-oca.Containerfile | 195 +++++++++++++++++++++------ 1 file changed, 157 insertions(+), 38 deletions(-) diff --git a/Services/odoo/odoo-oca.Containerfile b/Services/odoo/odoo-oca.Containerfile index ede3271..9387df7 100644 --- a/Services/odoo/odoo-oca.Containerfile +++ b/Services/odoo/odoo-oca.Containerfile @@ -2,12 +2,13 @@ # Build: podman build -t odoo-oca:18 -f odoo-oca.ContainerFile . # Export: podman save -o /home/badstorm/odoo-oca-18.tar localhost/odoo-oca:18 +# syntax=docker/dockerfile:1.9 +# Build: podman build -t odoo:18-debian13 -f odoo.ContainerFile . + FROM debian:13-slim ENV DEBIAN_FRONTEND=noninteractive -ENV ODOO_VERSION=18 ENV ODOO_BRANCH=18.0 -ENV ODOO_HOME=/opt/odoo ENV VENV_PATH=/opt/odoo/venv18 ENV DB_HOST=postgres @@ -16,8 +17,6 @@ ENV DB_USER=odoo ENV DB_PASSWORD=odoo ENV ADMIN_PASSWD=my_admin_password -ENV ADDONS_PATH=/opt/odoo/18.0/addons,/opt/odoo/18.0/odoo/addons,/opt/odoo/addons18/OCA/l10n-italy,/opt/odoo/addons18/custom/iso_addons - RUN apt-get update && apt-get install -y --no-install-recommends \ git wget curl ca-certificates \ python3 python3.13-dev python3-dev python3-venv python3-pip \ @@ -29,13 +28,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ libssl-dev libffi-dev libpq-dev libldap2-dev libsasl2-dev \ && rm -rf /var/lib/apt/lists/* -RUN curl -sSL -o /tmp/wkhtmltox.deb \ - "https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb" \ - && apt-get update \ - && apt-get install -y --no-install-recommends /tmp/wkhtmltox.deb \ - && cp -p /usr/local/bin/wkhtmlto* /usr/bin/ || true \ - && rm -rf /var/lib/apt/lists/* /tmp/wkhtmltox.deb - RUN useradd -m -d /opt/odoo -U -r -s /bin/bash odoo RUN mkdir -p \ @@ -44,48 +36,175 @@ RUN mkdir -p \ /opt/odoo/data/filestore \ /opt/odoo/log \ /etc/odoo \ - && chown -R odoo:odoo /opt/odoo /etc/odoo \ - && chmod -R 755 /opt/odoo \ - && chmod -R 775 /opt/odoo/data /opt/odoo/log + && chown -R odoo:odoo /opt/odoo /etc/odoo WORKDIR /opt/odoo RUN git clone https://github.com/OCA/OCB.git \ - --depth=1 \ - --branch=${ODOO_BRANCH} \ - --single-branch \ + --depth=1 --branch=${ODOO_BRANCH} --single-branch \ /opt/odoo/18.0 -RUN git clone https://github.com/OCA/l10n-italy.git \ - --depth=1 \ - --branch=${ODOO_BRANCH} \ - --single-branch \ - /opt/odoo/addons18/OCA/l10n-italy +RUN set -eux; \ + for repo in \ + account-analytic \ + account-budgeting \ + account-closing \ + account-financial-reporting \ + account-financial-tools \ + account-fiscal-rule \ + account-invoice-reporting \ + account-invoicing \ + account-payment \ + account-reconcile \ + agreement \ + ai \ + automation \ + bank-payment \ + bank-payment-alternative \ + bank-statement-import \ + brand \ + calendar \ + commission \ + community-data-files \ + connector \ + connector-interfaces \ + connector-telephony \ + contract \ + credit-control \ + crm \ + currency \ + data-protection \ + ddmrp \ + delivery-carrier \ + dms \ + donation \ + e-commerce \ + edi \ + edi-framework \ + edi-voxel \ + event \ + field-service \ + fleet \ + geospatial \ + helpdesk \ + hr \ + hr-attendance \ + hr-expense \ + hr-holidays \ + interface-github \ + intrastat-extrastat \ + iot \ + knowledge \ + l10n-belgium \ + l10n-brazil \ + l10n-colombia \ + l10n-ecuador \ + l10n-finland \ + l10n-france \ + l10n-germany \ + l10n-iran \ + l10n-italy \ + l10n-japan \ + l10n-mexico \ + l10n-netherlands \ + l10n-portugal \ + l10n-romania \ + l10n-spain \ + l10n-switzerland \ + l10n-thailand \ + l10n-usa \ + mail \ + maintenance \ + management-system \ + manufacture \ + manufacture-reporting \ + margin-analysis \ + mass-mailing \ + mis-builder \ + multi-company \ + operating-unit \ + partner-contact \ + payroll \ + pms \ + pos \ + product-attribute \ + product-configurator \ + product-pack \ + product-variant \ + project \ + purchase-reporting \ + purchase-workflow \ + queue \ + repair \ + reporting-engine \ + report-print-send \ + rest-framework \ + rma \ + sale-blanket \ + sale-channel \ + sale-promotion \ + sale-reporting \ + sale-workflow \ + search-engine \ + server-auth \ + server-backend \ + server-brand \ + server-env \ + server-tools \ + server-ux \ + shopfloor-app \ + sign \ + social \ + spreadsheet \ + stock-logistics-availability \ + stock-logistics-barcode \ + stock-logistics-interfaces \ + stock-logistics-orderpoint \ + stock-logistics-putaway \ + stock-logistics-release-channel \ + stock-logistics-reporting \ + stock-logistics-request \ + stock-logistics-reservation \ + stock-logistics-shopfloor \ + stock-logistics-tracking \ + stock-logistics-transport \ + stock-logistics-warehouse \ + stock-logistics-workflow \ + storage \ + survey \ + timesheet \ + vertical-association \ + web \ + web-api \ + web-api-contrib \ + website \ + ; do \ + git clone https://github.com/OCA/${repo}.git \ + --depth=1 \ + --branch=${ODOO_BRANCH} \ + --single-branch \ + /opt/odoo/addons18/OCA/${repo}; \ + done RUN git clone https://gitlab.com/PNLUG/Odoo/repository/iso_addons.git \ - --depth=1 \ - --branch=${ODOO_BRANCH} \ - --single-branch \ + --depth=1 --branch=${ODOO_BRANCH} --single-branch \ /opt/odoo/addons18/custom/iso_addons RUN python3 -m venv ${VENV_PATH} RUN ${VENV_PATH}/bin/pip install --upgrade pip setuptools wheel \ && ${VENV_PATH}/bin/pip install \ - pypdf \ - phonenumbers \ - asn1crypto \ - codicefiscale \ - unidecode \ - paramiko==3.5.1 \ - pysftp \ - packaging \ - pyPDF2 \ - cryptography \ + pypdf phonenumbers asn1crypto codicefiscale unidecode psycopg2-binary \ + paramiko==3.5.1 pysftp packaging pyPDF2 cryptography \ -r /opt/odoo/18.0/requirements.txt \ -r /opt/odoo/addons18/OCA/l10n-italy/requirements.txt -RUN printf "[options]\n\ +RUN ADDONS_PATH="/opt/odoo/18.0/addons,/opt/odoo/18.0/odoo/addons"; \ + for d in /opt/odoo/addons18/OCA/*; do \ + ADDONS_PATH="${ADDONS_PATH},${d}"; \ + done; \ + ADDONS_PATH="${ADDONS_PATH},/opt/odoo/addons18/custom/iso_addons"; \ + printf "[options]\n\ admin_passwd = ${ADMIN_PASSWD}\n\ db_host = ${DB_HOST}\n\ db_port = ${DB_PORT}\n\ @@ -96,9 +215,9 @@ logfile = /opt/odoo/log/odoo.log\n\ data_dir = /opt/odoo/data\n\ proxy_mode = True\n\ " > /etc/odoo/odoo18.conf \ - && chown odoo:odoo /etc/odoo/odoo18.conf \ + && chown -R odoo:odoo /opt/odoo /etc/odoo \ && chmod 640 /etc/odoo/odoo18.conf \ - && chown -R odoo:odoo /opt/odoo /etc/odoo + && chmod -R 775 /opt/odoo/data /opt/odoo/log EXPOSE 8069 8072