mirror of
https://github.com/Mailu/Mailu.git
synced 2024-12-14 10:53:30 +02:00
0417c791ff
985: Permit raspberry pi (and other architectures) builds r=mergify[bot] a=abondis ## What type of PR? Enhancement ## What does this PR do? Add an option to select base images and permit building for different CPU architectures. ### Related issue(s) N/A ## Prerequistes - [X] documentation updated accordingly - [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file. Co-authored-by: Aurélien Bondis <aurelien.bondis@gmail.com> Co-authored-by: Aurelien <aurelien.bondis@gmail.com>
48 lines
1.5 KiB
Docker
48 lines
1.5 KiB
Docker
# NOTE: only add file if building for arm
|
|
ARG ARCH=""
|
|
ARG QEMU=other
|
|
FROM ${ARCH}php:7.3-apache as build_arm
|
|
ONBUILD COPY --from=balenalib/rpi-alpine:3.10 /usr/bin/qemu-arm-static /usr/bin/qemu-arm-static
|
|
|
|
FROM ${ARCH}php:7.3-apache as build_other
|
|
|
|
FROM build_${QEMU}
|
|
#Shared layer between rainloop and roundcube
|
|
RUN apt-get update && apt-get install -y \
|
|
python3 curl python3-pip git \
|
|
&& rm -rf /var/lib/apt/lists \
|
|
&& echo "ServerSignature Off" >> /etc/apache2/apache2.conf
|
|
|
|
# Shared layer between nginx, dovecot, postfix, postgresql, rspamd, unbound, rainloop, roundcube
|
|
RUN pip3 install socrate
|
|
|
|
ENV ROUNDCUBE_URL https://github.com/roundcube/roundcubemail/releases/download/1.3.10/roundcubemail-1.3.10-complete.tar.gz
|
|
|
|
RUN apt-get update && apt-get install -y \
|
|
zlib1g-dev libzip4 libzip-dev \
|
|
python3-jinja2 \
|
|
&& docker-php-ext-install zip \
|
|
&& echo date.timezone=UTC > /usr/local/etc/php/conf.d/timezone.ini \
|
|
&& rm -rf /var/www/html/ \
|
|
&& cd /var/www \
|
|
&& curl -L -O ${ROUNDCUBE_URL} \
|
|
&& tar -xf *.tar.gz \
|
|
&& rm -f *.tar.gz \
|
|
&& mv roundcubemail-* html \
|
|
&& cd html \
|
|
&& rm -rf CHANGELOG INSTALL LICENSE README.md UPGRADING composer.json-dist installer \
|
|
&& sed -i 's,mod_php5.c,mod_php7.c,g' .htaccess \
|
|
&& chown -R www-data: logs temp \
|
|
&& rm -rf /var/lib/apt/lists
|
|
|
|
COPY php.ini /php.ini
|
|
COPY config.inc.php /var/www/html/config/
|
|
COPY start.py /start.py
|
|
|
|
EXPOSE 80/tcp
|
|
VOLUME ["/data"]
|
|
|
|
CMD /start.py
|
|
|
|
HEALTHCHECK CMD curl -f -L http://localhost/ || exit 1
|