ADD file:e4d600fc4c9c293efe360be7b30ee96579925d1b4634c94332e2ec73f7d8eca1 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 ; ! [[ "$(uname -m)" == x86_64 ]] || apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing hardened-malloc==11-r0 # buildkit |
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 PATH=/app/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LD_PRELOAD=/usr/lib/libhardened_malloc.so ADMIN_ADDRESS=admin FRONT_ADDRESS=front SMTP_ADDRESS=smtp IMAP_ADDRESS=imap OLETOOLS_ADDRESS=oletools REDIS_ADDRESS=redis ANTIVIRUS_ADDRESS=antivirus ANTISPAM_ADDRESS=antispam WEBMAIL_ADDRESS=webmail WEBDAV_ADDRESS=webdav |
ARG VERSION |
LABEL version= |
COPY snappymail/pubkey.asc /tmp/snappymail.asc # buildkit |
COPY roundcube/pubkey.asc /tmp/roundcube.asc # buildkit |
COPY roundcube/roundcube.diff /tmp/roundcube.diff # buildkit |
RUN |1 VERSION= /bin/sh -c set -euxo pipefail ; apk add --no-cache nginx gpg gpg-agent patch php81 php81-fpm php81-mbstring php81-zip php81-xml php81-simplexml php81-pecl-apcu php81-dom php81-curl php81-exif gd php81-gd php81-iconv php81-intl php81-openssl php81-ctype php81-pdo_sqlite php81-pdo_mysql php81-pdo_pgsql php81-pdo php81-sodium libsodium php81-tidy php81-pecl-uuid php81-pspell php81-pecl-imagick php81-opcache php81-session php81-sockets php81-fileinfo php81-xmlreader php81-xmlwriter aspell-uk aspell-ru aspell-fr aspell-de aspell-en ; rm /etc/nginx/http.d/default.conf ; rm /etc/php81/php-fpm.d/www.conf ; gpg --import /tmp/snappymail.asc ; gpg --import /tmp/roundcube.asc ; echo extension=snuffleupagus > /etc/php81/conf.d/snuffleupagus.ini ; rm -f /tmp/roundcube.asc /tmp/snappymail.asc ; mkdir -p /run/nginx /conf # buildkit |
ENV ROUNDCUBE_URL=https://github.com/roundcube/roundcubemail/releases/download/1.6.1/roundcubemail-1.6.1-complete.tar.gz |
ENV CARDDAV_URL=https://github.com/mstilkerich/rcmcarddav/releases/download/v5.0.1/carddav-v5.0.1.tar.gz |
RUN |1 VERSION= /bin/sh -c set -euxo pipefail ; cd /var/www ; curl -sLo /dev/shm/roundcube.tgz ${ROUNDCUBE_URL} ; curl -sLo /dev/shm/roundcube.tgz.asc ${ROUNDCUBE_URL}.asc ; gpg --status-fd 1 --verify /dev/shm/roundcube.tgz.asc ; tar xzf /dev/shm/roundcube.tgz ; curl -sL ${CARDDAV_URL} | tar xz ; mv roundcubemail-* roundcube ; mkdir -p /var/www/roundcube/config ; mv carddav roundcube/plugins/ ; cd roundcube ; rm -rf CHANGELOG.md SECURITY.md INSTALL LICENSE README.md UPGRADING composer.json-dist installer composer.* ; ln -sf index.php /var/www/roundcube/public_html/sso.php ; rm -rf plugins/{autologon,example_addressbook,http_authentication,krb_authentication,new_user_identity,password,redundant_attachments,squirrelmail_usercopy,userinfo,virtuser_file,virtuser_query} ; patch -p0 < /tmp/roundcube.diff ; rm /tmp/roundcube.diff # buildkit |
COPY roundcube/config/config.inc.php /conf/ # buildkit |
COPY roundcube/login/ /var/www/roundcube/plugins/mailu/ # buildkit |
COPY roundcube/config/config.inc.carddav.php /var/www/roundcube/plugins/carddav/config.inc.php # buildkit |
ENV SNAPPYMAIL_URL=https://github.com/the-djmaze/snappymail/releases/download/v2.25.0/snappymail-2.25.0.tar.gz |
RUN |1 VERSION= /bin/sh -c set -euxo pipefail ; mkdir /var/www/snappymail ; cd /var/www/snappymail ; curl -sLo /dev/shm/snappymail.tgz ${SNAPPYMAIL_URL} ; curl -sLo /dev/shm/snappymail.tgz.asc ${SNAPPYMAIL_URL}.asc ; gpg --status-fd 1 --verify /dev/shm/snappymail.tgz.asc ; tar xzf /dev/shm/snappymail.tgz # buildkit |
COPY snappymail/login/include.php /var/www/snappymail/ # buildkit |
COPY snappymail/login/sso.php /var/www/snappymail/ # buildkit |
COPY snappymail/defaults/application.ini /defaults/ # buildkit |
COPY snappymail/defaults/default.json /defaults/ # buildkit |
RUN |1 VERSION= /bin/sh -c set -euxo pipefail ; chmod -R a+rX /var/www/snappymail ; chown -R root:root /var/www/snappymail ; chown -R mailu:mailu /var/www/snappymail/data ; chown -R root:root /var/www/roundcube/ ; chown -R mailu:mailu /var/www/roundcube/temp /var/www/roundcube/logs ; chmod -R a+rX /var/www/roundcube # buildkit |
COPY start.py / # buildkit |
COPY php.ini /defaults/ # buildkit |
COPY php-webmail.conf /etc/php81/php-fpm.d/ # buildkit |
COPY nginx-webmail.conf /conf/ # buildkit |
COPY snuffleupagus.rules /etc/snuffleupagus.rules.tpl # buildkit |
VOLUME [/data] |
VOLUME [/overrides] |
CMD ["/bin/sh" "-c" "/start.py"] |
HEALTHCHECK &{["CMD-SHELL" "curl -f -L http://localhost/ping || exit 1"] "0s" "0s" "0s" '\x00'} |
RUN |1 VERSION= /bin/sh -c echo $VERSION >> /version # buildkit |