FROM debian:buster-slim
# hadolint ignore=DL3008
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
        apache2 \
        ca-certificates \
        curl \
        libapache2-mod-php \
        libcap2-bin \
        php-cli \
        wget \
        z-push-backend-caldav \
        z-push-backend-carddav \
        z-push-backend-combined \
        z-push-backend-imap \
    && \
    setcap CAP_NET_BIND_SERVICE=+ep /usr/sbin/apache2 && \
    install -d -m 750 -o root -g www-data /var/log/apache2 && \
    install -d -m 755 -o www-data -g root /run/apache2 && \
    a2enmod status && \
    ln -sf /dev/stdout /var/log/apache2/access.log && \
    ln -sf /dev/stderr /var/log/apache2/error.log && \
    ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log && \
    rm -rf /tmp/* /var/tmp/* /var/cache/apt/archives/* /var/lib/apt/lists/*
RUN ln -sf /dev/stdout /var/log/z-push/autodiscover.log && \
    ln -sf /dev/stderr /var/log/z-push/autodiscover-error.log && \
    ln -sf /dev/stdout /var/log/z-push/z-push.log && \
    ln -sf /dev/stderr /var/log/z-push/z-push-error.log
RUN rm /var/log/z-push/*.log
COPY z-push/ /etc/z-push/
COPY --chown=root:root healthcheck /usr/local/bin/
ENV APACHE_RUN_DIR=/run/apache2 \
    APACHE_LOG_DIR=/var/log/apache2 \
    APACHE_RUN_USER=www-data \
    APACHE_RUN_GROUP=www-data \
    APACHE_PID_FILE=/run/apache2/apache2.pid
EXPOSE 80
USER "www-data"
WORKDIR /var/www
CMD [ "apache2", "-DFOREGROUND" ]
HEALTHCHECK CMD /usr/local/bin/healthcheck
