Add Services/odoo/odoo-oca.Containerfile

Este commit está contenido en:
2026-05-19 10:33:23 +02:00
padre f95fc6d833
commit 9585ca276c
+111
Ver fichero
@@ -0,0 +1,111 @@
# syntax=docker/dockerfile:1.9
# 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
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
ENV DB_PORT=5432
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 \
build-essential gcc g++ make pkg-config \
postgresql-client xfonts-base \
libxml2-dev libxslt1-dev zlib1g-dev \
libjpeg-dev libpng-dev libopenjp2-7-dev libtiff-dev \
libfreetype6-dev liblcms2-dev \
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 \
/opt/odoo/addons18/OCA \
/opt/odoo/addons18/custom \
/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
WORKDIR /opt/odoo
RUN git clone https://github.com/OCA/OCB.git \
--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 git clone https://gitlab.com/PNLUG/Odoo/repository/iso_addons.git \
--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 \
-r /opt/odoo/18.0/requirements.txt \
-r /opt/odoo/addons18/OCA/l10n-italy/requirements.txt
RUN printf "[options]\n\
admin_passwd = ${ADMIN_PASSWD}\n\
db_host = ${DB_HOST}\n\
db_port = ${DB_PORT}\n\
db_user = ${DB_USER}\n\
db_password = ${DB_PASSWORD}\n\
addons_path = ${ADDONS_PATH}\n\
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 \
&& chmod 640 /etc/odoo/odoo18.conf \
&& chown -R odoo:odoo /opt/odoo /etc/odoo
EXPOSE 8069 8072
VOLUME ["/opt/odoo/addons18/custom", "/opt/odoo/data", "/opt/odoo/log"]
USER odoo
WORKDIR /opt/odoo/18.0
CMD ["/opt/odoo/venv18/bin/python", "/opt/odoo/18.0/odoo-bin", "-c", "/etc/odoo/odoo18.conf"]