@@ -6,6 +6,9 @@ SHELL ["/bin/bash", "-xo", "pipefail", "-c"]
66# Target arch for wkhtmltopdf
77ARG TARGETARCH
88
9+ # ===== Copiar requirements.txt primero (para cache) =====
10+ COPY requirements.txt /tmp/requirements.txt
11+
912# ===== Base deps + wkhtmltopdf =====
1013RUN apt-get update && \
1114 DEBIAN_FRONTEND=noninteractive \
@@ -34,14 +37,20 @@ RUN apt-get update && \
3437 python3-xlrd \
3538 python3-xlwt \
3639 xz-utils \
37- # --- extras para AFIP / firmas XML ---
3840 python3-jwt \
3941 libxml2 \
4042 libxmlsec1 \
4143 libxmlsec1-openssl \
4244 build-essential \
4345 python3-dev \
44- && if [ -z "${TARGETARCH}" ]; then TARGETARCH="$(dpkg --print-architecture)" ; fi \
46+ && rm -rf /var/lib/apt/lists/*
47+
48+ # ===== Python dependencies (temprano para cache) =====
49+ RUN pip install --no-cache-dir --break-system-packages -r /tmp/requirements.txt \
50+ && rm /tmp/requirements.txt
51+
52+ # ===== wkhtmltopdf =====
53+ RUN if [ -z "${TARGETARCH}" ]; then TARGETARCH="$(dpkg --print-architecture)" ; fi \
4554 && WKHTMLTOPDF_ARCH=${TARGETARCH} \
4655 && case ${TARGETARCH} in \
4756 "amd64" ) WKHTMLTOPDF_ARCH=amd64 && WKHTMLTOPDF_SHA=967390a759707337b46d1c02452e2bb6b2dc6d59 ;; \
@@ -50,6 +59,7 @@ RUN apt-get update && \
5059 esac \
5160 && curl -o wkhtmltox.deb -sSL https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_${WKHTMLTOPDF_ARCH}.deb \
5261 && echo ${WKHTMLTOPDF_SHA} wkhtmltox.deb | sha1sum -c - \
62+ && apt-get update \
5363 && apt-get install -y --no-install-recommends ./wkhtmltox.deb \
5464 && rm -rf /var/lib/apt/lists/* wkhtmltox.deb
5565
@@ -80,30 +90,25 @@ RUN curl -o odoo.deb -sSL http://nightly.odoo.com/${ODOO_VERSION}/nightly/deb/od
8090 && apt-get -y install --no-install-recommends ./odoo.deb \
8191 && rm -rf /var/lib/apt/lists/* odoo.deb
8292
83- # ===== Python dependencies from requirements.txt =====
84- COPY requirements.txt /tmp/requirements.txt
85- RUN pip install --no-cache-dir --break-system-packages -r /tmp/requirements.txt \
86- && rm /tmp/requirements.txt \
87- && python3 -c "import jwt, pyafipws, pysimplesoap; \
93+ # ===== Verificar instalación =====
94+ RUN python3 -c "import jwt, pyafipws, pysimplesoap; \
8895print('JWT OK', getattr(jwt,'__version__','unknown')); \
8996print('pyafipws OK', getattr(pyafipws,'__version__','unknown')); \
9097print('pysimplesoap OK', getattr(pysimplesoap,'__version__','unknown'))"
9198
92- # ===== Config y entrypoint =====
99+ # ===== Config y entrypoint (al final para cache) =====
93100COPY ./entrypoint.sh /
94101COPY ./odoo.conf /etc/odoo/
102+ COPY wait-for-psql.py /usr/local/bin/wait-for-psql.py
95103
96104RUN chown odoo /etc/odoo/odoo.conf \
97105 && mkdir -p /mnt/extra-addons \
98106 && chown -R odoo /mnt/extra-addons
99107
100108VOLUME ["/var/lib/odoo" , "/mnt/extra-addons" ]
101-
102109EXPOSE 8069 8071 8072
103110ENV ODOO_RC /etc/odoo/odoo.conf
104111
105- COPY wait-for-psql.py /usr/local/bin/wait-for-psql.py
106-
107112USER odoo
108113ENTRYPOINT ["/entrypoint.sh" ]
109114CMD ["odoo" ]
0 commit comments