ADD file:587cae71969871d3c6456d844a8795df9b64b12c710c275295a1182b46f630e7 in / |
CMD ["/bin/sh"] |
ENV TZ=Etc/UTC LANG=C.UTF-8 |
ARG MAILU_UID=1000 |
ARG MAILU_GID=1000 |
RUN |2 MAILU_UID=1000 MAILU_GID=1000 /bin/sh -c set -euxo pipefail ; addgroup -Sg ${MAILU_GID} mailu ; adduser -Sg ${MAILU_UID} -G mailu -h /app -g "mailu app" -s /bin/bash mailu ; apk add --no-cache bash ca-certificates curl python3 tzdata libcap ; machine="$(uname -m)" ; ! [[ "${machine}" == x86_64 ]] || apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing hardened-malloc==11-r0 # buildkit |
ENV LD_PRELOAD=/usr/lib/libhardened_malloc.so CXXFLAGS=-g -O2 -fdebug-prefix-map=/app=. -fstack-protector-strong -Wformat -Werror=format-security -fstack-clash-protection -fexceptions CFLAGS=-g -O2 -fdebug-prefix-map=/app=. -fstack-protector-strong -Wformat -Werror=format-security -fstack-clash-protection -fexceptions CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now ADMIN_ADDRESS=admin FRONT_ADDRESS=front SMTP_ADDRESS=smtp IMAP_ADDRESS=imap REDIS_ADDRESS=redis ANTIVIRUS_ADDRESS=antivirus ANTISPAM_ADDRESS=antispam WEBMAIL_ADDRESS=webmail WEBDAV_ADDRESS=webdav |
WORKDIR /app |
CMD ["/bin/sh" "-c" "/bin/bash"] |
COPY /app/venv/ /app/venv/ # buildkit |
COPY /app/snuffleupagus.so /usr/lib/php81/modules/ # buildkit |
RUN /bin/sh -c setcap 'cap_net_bind_service=+ep' /app/venv/bin/gunicorn 'cap_net_bind_service=+ep' /usr/bin/python3.10 # buildkit |
ENV VIRTUAL_ENV=/app/venv |
ENV PATH=/app/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
ARG VERSION=local |
LABEL version=local |
RUN |1 VERSION=local /bin/sh -c set -euxo pipefail ; apk add --no-cache libressl mariadb-connector-c postgresql-libs # buildkit |
COPY /work/static/ ./mailu/static/ # buildkit |
COPY audit.py / # buildkit |
COPY start.py / # buildkit |
COPY migrations/ ./migrations/ # buildkit |
COPY mailu/ ./mailu/ # buildkit |
RUN |1 VERSION=local /bin/sh -c set -euxo pipefail ; venv/bin/pybabel compile -d mailu/translations # buildkit |
RUN |1 VERSION=local /bin/sh -c echo $VERSION >/version # buildkit |
EXPOSE map[80/tcp:{}] |
HEALTHCHECK &{["CMD-SHELL" "curl -skfLo /dev/null http://localhost/sso/login?next=ui.index"] "0s" "0s" "0s" '\x00'} |
VOLUME [/data /dkim] |
ENV FLASK_APP=mailu |
CMD ["/bin/sh" "-c" "/start.py"] |