Skip to content

Commit 8349310

Browse files
committed
feat(docker): basic Dockerfile
1 parent ebb4976 commit 8349310

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed

Dockerfile

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
FROM harbor.imio.be/common/plone-base:6.1.1 AS builder
2+
3+
LABEL maintainer="iMio <[email protected]>"
4+
ENV PIP=25.0.1 \
5+
ZC_BUILDOUT=4.1.4 \
6+
SETUPTOOLS=75.8.2 \
7+
WHEEL=0.45.1 \
8+
PLONE_MAJOR=6.1 \
9+
PLONE_VERSION=6.1.1
10+
11+
# hadolint ignore=DL3008
12+
RUN apt-get update && apt-get install -y --no-install-recommends \
13+
build-essential \
14+
gcc \
15+
git \
16+
libbz2-dev \
17+
libc6-dev \
18+
libffi-dev \
19+
libjpeg62-dev \
20+
libopenjp2-7-dev \
21+
libmemcached-dev \
22+
libpcre3-dev \
23+
libpq-dev \
24+
libreadline-dev \
25+
libssl-dev \
26+
libxml2-dev \
27+
libxslt1-dev \
28+
python3-dev \
29+
python3-pip \
30+
wget \
31+
zlib1g-dev \
32+
&& pip3 install --no-cache-dir pip==$PIP setuptools==$SETUPTOOLS zc.buildout==$ZC_BUILDOUT py-spy --break-system-packages
33+
34+
WORKDIR /plone
35+
36+
COPY --chown=imio *.cfg /plone/
37+
COPY --chown=imio scripts /plone/scripts
38+
39+
RUN su -c "buildout -c prod.cfg -t 30 -N" -s /bin/sh imio
40+
41+
42+
FROM harbor.imio.be/common/plone-base:6.1.1
43+
ENV PIP=25.0.1 \
44+
ZC_BUILDOUT=4.1.4 \
45+
SETUPTOOLS=75.8.2 \
46+
WHEEL=0.45.1 \
47+
PLONE_MAJOR=6.1 \
48+
PLONE_VERSION=6.1.1 \
49+
HOSTNAME_HOST=local \
50+
PROJECT_ID=smartweb \
51+
PLONE_EXTENSION_IDS=plone.app.caching:default,plonetheme.barceloneta:default \
52+
DEFAULT_LANGUAGE=fr
53+
54+
VOLUME /data/blobstorage
55+
WORKDIR /plone
56+
57+
# hadolint ignore=DL3008
58+
RUN apt-get update && apt-get install -y --no-install-recommends \
59+
libjpeg62 \
60+
libmemcached11 \
61+
libopenjp2-7 \
62+
libpq5 \
63+
libtiff5-dev \
64+
libxml2 \
65+
libxslt1.1 \
66+
lynx \
67+
poppler-utils \
68+
rsync \
69+
wget \
70+
wv \
71+
&& apt-get clean \
72+
&& rm -rf /var/lib/apt/lists/*
73+
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
74+
COPY --from=builder /usr/local/bin/py-spy /usr/local/bin/py-spy
75+
COPY --chown=imio --from=builder /plone .
76+
COPY --from=builder /usr/local/lib/python3.12/dist-packages /usr/local/lib/python3.12/dist-packages
77+
COPY --chown=imio docker-initialize.py docker-entrypoint.sh /
78+
79+
USER imio
80+
EXPOSE 8080
81+
HEALTHCHECK --interval=15s --timeout=10s --start-period=20s --retries=5 \
82+
CMD wget -q http://127.0.0.1:8080/ok -O - | grep OK || exit 1
83+
84+
ENTRYPOINT ["/docker-entrypoint.sh"]
85+
CMD ["console"]

0 commit comments

Comments
 (0)