diff --git a/web-apps/dockerfile b/web-apps/dockerfile index befdc18..115cac5 100644 --- a/web-apps/dockerfile +++ b/web-apps/dockerfile @@ -1,25 +1,29 @@ -FROM nextcloud:fpm-alpine +FROM nextcloud:apache RUN set -ex; \ \ - apk add --no-cache \ + apt-get update; \ + apt-get install -y --no-install-recommends \ ffmpeg \ - imagemagick \ + ghostscript \ + libmagickcore-6.q16-6-extra \ procps \ - samba-client \ + smbclient \ supervisor \ # libreoffice \ - ; + ; \ + rm -rf /var/lib/apt/lists/* RUN set -ex; \ \ - apk add --no-cache --virtual .build-deps \ - $PHPIZE_DEPS \ - imap-dev \ - krb5-dev \ - openssl-dev \ - samba-dev \ - bzip2-dev \ + savedAptMark="$(apt-mark showmanual)"; \ + \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + libbz2-dev \ + libc-client-dev \ + libkrb5-dev \ + libsmbclient-dev \ ; \ \ docker-php-ext-configure imap --with-kerberos --with-imap-ssl; \ @@ -30,14 +34,19 @@ RUN set -ex; \ pecl install smbclient; \ docker-php-ext-enable smbclient; \ \ - runDeps="$( \ - scanelf --needed --nobanner --format '%n#p' --recursive /usr/local/lib/php/extensions \ - | tr ',' '\n' \ - | sort -u \ - | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \ - )"; \ - apk add --virtual .nextcloud-phpext-rundeps $runDeps; \ - apk del .build-deps +# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies + apt-mark auto '.*' > /dev/null; \ + apt-mark manual $savedAptMark; \ + ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ + | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \ + | sort -u \ + | xargs -r dpkg-query --search \ + | cut -d: -f1 \ + | sort -u \ + | xargs -rt apt-mark manual; \ + \ + apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ + rm -rf /var/lib/apt/lists/* RUN mkdir -p \ /var/log/supervisord \