1- FROM harbor.imio.be/common/plone-base:6.1.0 AS builder
1+ FROM harbor.imio.be/common/plone-base:6.1.2 AS builder
22
33ENV ZC_BUILDOUT=4.1.4 \
4- PLONE_MAJOR=6.1 \
5- PLONE_VERSION=6.1.0
4+ PLONE_MAJOR=6.1 \
5+ PLONE_VERSION=6.1.2
66
7- # hadolint ignore=DL3008
87RUN apt-get update && apt-get install -y --no-install-recommends \
98 build-essential \
109 gcc \
@@ -22,19 +21,33 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
2221 libxml2-dev \
2322 libxslt1-dev \
2423 python3-dev \
24+ python3.12-venv \
2525 python3-pip \
2626 wget \
2727 zlib1g-dev \
2828 && pip3 install --no-cache-dir --break-system-packages zc.buildout==$ZC_BUILDOUT py-spy
2929
30+ USER imio
3031WORKDIR /plone
3132
33+ RUN python3 -m venv /plone
34+ COPY --chown=imio requirements.txt /plone
35+ RUN /plone/bin/pip install -r requirements.txt \
36+ && /plone/bin/pip install py-spy
37+
3238COPY --chown=imio *.cfg /plone/
3339COPY --chown=imio scripts /plone/scripts
3440
35- RUN su -c "buildout -c docker.cfg -t 30 -N" -s /bin/sh imio
41+ RUN /plone/bin/buildout -c docker.cfg -t 30 -N
42+
43+ #
44+ # FROM ubuntu:24.04 AS uno_src
45+ # RUN apt-get update && apt-get install -y --no-install-recommends \
46+ # python3.12 python3-uno libreoffice-core \
47+ # && rm -rf /var/lib/apt/lists/*
3648
37- FROM harbor.imio.be/common/plone-base:6.1.0
49+
50+ FROM harbor.imio.be/common/plone-base:6.1.2
3851ARG build_number
3952ENV ZC_BUILDOUT=4.1.4 \
4053 PLONE_VERSION=6.1.0 \
@@ -58,25 +71,37 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
5871 libxslt1.1 \
5972 lynx \
6073 netcat-openbsd \
74+ python3-uno \
6175 poppler-utils \
6276 rsync \
6377 wget \
6478 wv \
79+ zint \
6580 && apt-get clean \
6681 && rm -rf /var/lib/apt/lists/*
67- RUN curl -L https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_amd64.deb > /tmp/dumb-init.deb && dpkg -i /tmp/dumb-init.deb && rm /tmp/dumb-init.deb
82+ RUN curl -L https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_amd64.deb > /tmp/dumb-init.deb \
83+ && dpkg -i /tmp/dumb-init.deb && rm /tmp/dumb-init.deb
84+ COPY --chown=imio --from=builder /plone /plone
6885COPY --from=builder /usr/local/bin/py-spy /usr/local/bin/py-spy
69- COPY --chown=imio --from=builder /plone .
70- COPY --from=builder /usr/local/lib/python3.12/dist-packages /usr/local/lib/python3.12/dist-packages
7186COPY --chown=imio docker/docker-initialize.py docker/docker-entrypoint.sh docker/cron.sh docker/tick.sh /
7287
88+ # COPY --from=uno_src /usr/lib/python3/dist-packages/uno.py /usr/lib/python3/dist-packages/uno.py
89+ # COPY --from=uno_src /usr/lib/python3/dist-packages/unohelper.py /usr/lib/python3/dist-packages/unohelper.py
90+ # COPY --from=uno_src /usr/lib/libreoffice/program /usr/lib/libreoffice/program
91+
92+ # Ensure UNO_PATH is set to where libreoffice is installed
93+ ENV UNO_PATH=/usr/lib/libreoffice/program
94+
7395# Allow imio to create a cron job
7496RUN touch /etc/cron.d/plone-tick \
7597 && crontab -u imio /etc/cron.d/plone-tick \
7698 && chmod u+s /usr/sbin/cron
7799
78100RUN echo $build_number > .build_number
79101
102+ # Make the venv first on PATH at runtime
103+ ENV PATH="/plone/bin:${PATH}"
104+
80105USER imio
81106EXPOSE 8081
82107HEALTHCHECK --interval=15s --timeout=10s --start-period=20s --retries=5 \
0 commit comments