Loading Dockerfile +91 −1 Original line number Diff line number Diff line Loading @@ -150,13 +150,103 @@ CMD ["php-fpm"] FROM php:8.0.12-fpm-bullseye RUN mkdir -p /var/www/skeleton/Documents && mkdir -p /var/www/skeleton/Images COPY --from=nextcloud /usr/src/nextcloud /usr/src/nextcloud COPY --from=nextcloud /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ COPY --from=nextcloud /*.sh / COPY --from=nextcloud /upgrade.exclude / COPY custom_entrypoint.sh / COPY --from=nextcloud /entrypoint.sh / RUN chmod +x /custom_entrypoint.sh RUN chmod +x /entrypoint.sh RUN apt-get update && apt-get install -y rsync RUN set -ex; \ \ apt-get update; \ apt-get install -y --no-install-recommends \ rsync \ bzip2 \ busybox-static \ libldap-common \ ; \ rm -rf /var/lib/apt/lists/*; \ \ mkdir -p /var/spool/cron/crontabs; \ echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data # install the PHP extensions we need # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ \ apt-get update; \ apt-get install -y --no-install-recommends \ libcurl4-openssl-dev \ libevent-dev \ libfreetype6-dev \ libicu-dev \ libjpeg-dev \ libldap2-dev \ libmcrypt-dev \ libmemcached-dev \ libpng-dev \ libpq-dev \ libxml2-dev \ libmagickwand-dev \ libzip-dev \ libwebp-dev \ libgmp-dev \ ; \ \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp; \ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \ docker-php-ext-install -j "$(nproc)" \ bcmath \ exif \ gd \ intl \ ldap \ opcache \ pcntl \ pdo_mysql \ pdo_pgsql \ zip \ gmp \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.21; \ pecl install memcached-3.1.5; \ pecl install redis-5.3.4; \ pecl install imagick-3.5.1; \ \ docker-php-ext-enable \ apcu \ memcached \ redis \ imagick \ ; \ rm -r /tmp/pear; \ \ # 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 '/=>/ { print $3 }' \ | sort -u \ | xargs -r dpkg-query -S \ | 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/* VOLUME /var/www/html ENV NEXTCLOUD_VERSION 21.0.7 ENTRYPOINT ["/custom_entrypoint.sh"] CMD ["php-fpm"] No newline at end of file Loading
Dockerfile +91 −1 Original line number Diff line number Diff line Loading @@ -150,13 +150,103 @@ CMD ["php-fpm"] FROM php:8.0.12-fpm-bullseye RUN mkdir -p /var/www/skeleton/Documents && mkdir -p /var/www/skeleton/Images COPY --from=nextcloud /usr/src/nextcloud /usr/src/nextcloud COPY --from=nextcloud /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ COPY --from=nextcloud /*.sh / COPY --from=nextcloud /upgrade.exclude / COPY custom_entrypoint.sh / COPY --from=nextcloud /entrypoint.sh / RUN chmod +x /custom_entrypoint.sh RUN chmod +x /entrypoint.sh RUN apt-get update && apt-get install -y rsync RUN set -ex; \ \ apt-get update; \ apt-get install -y --no-install-recommends \ rsync \ bzip2 \ busybox-static \ libldap-common \ ; \ rm -rf /var/lib/apt/lists/*; \ \ mkdir -p /var/spool/cron/crontabs; \ echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data # install the PHP extensions we need # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ \ apt-get update; \ apt-get install -y --no-install-recommends \ libcurl4-openssl-dev \ libevent-dev \ libfreetype6-dev \ libicu-dev \ libjpeg-dev \ libldap2-dev \ libmcrypt-dev \ libmemcached-dev \ libpng-dev \ libpq-dev \ libxml2-dev \ libmagickwand-dev \ libzip-dev \ libwebp-dev \ libgmp-dev \ ; \ \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp; \ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \ docker-php-ext-install -j "$(nproc)" \ bcmath \ exif \ gd \ intl \ ldap \ opcache \ pcntl \ pdo_mysql \ pdo_pgsql \ zip \ gmp \ ; \ \ # pecl will claim success even if one install fails, so we need to perform each install separately pecl install APCu-5.1.21; \ pecl install memcached-3.1.5; \ pecl install redis-5.3.4; \ pecl install imagick-3.5.1; \ \ docker-php-ext-enable \ apcu \ memcached \ redis \ imagick \ ; \ rm -r /tmp/pear; \ \ # 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 '/=>/ { print $3 }' \ | sort -u \ | xargs -r dpkg-query -S \ | 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/* VOLUME /var/www/html ENV NEXTCLOUD_VERSION 21.0.7 ENTRYPOINT ["/custom_entrypoint.sh"] CMD ["php-fpm"] No newline at end of file