Update Services/odoo/odoo-oca.Containerfile

This commit is contained in:
2026-05-19 10:52:14 +02:00
orang tua 9585ca276c
melakukan 97be2efe2d
+157 -38
Melihat File
@@ -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