From 6a7a09903f2f16544a479c0a4a6e135f0f9b1b16 Mon Sep 17 00:00:00 2001 From: Tilo Spannagel Date: Sun, 27 Aug 2017 10:58:21 +0200 Subject: [PATCH] Remove end of life version 10.0 --- .travis.yml | 6 +-- 10.0/apache/Dockerfile | 70 ----------------------------- 10.0/apache/config/apcu.config.php | 4 -- 10.0/apache/config/apps.config.php | 15 ------- 10.0/apache/docker-entrypoint.sh | 60 ------------------------- 10.0/fpm/Dockerfile | 68 ---------------------------- 10.0/fpm/config/apcu.config.php | 4 -- 10.0/fpm/config/apps.config.php | 15 ------- 10.0/fpm/docker-entrypoint.sh | 60 ------------------------- Dockerfile-php7.template | 71 ------------------------------ Dockerfile.template | 25 ++++++----- update.sh | 7 +-- 12 files changed, 16 insertions(+), 389 deletions(-) delete mode 100644 10.0/apache/Dockerfile delete mode 100644 10.0/apache/config/apcu.config.php delete mode 100644 10.0/apache/config/apps.config.php delete mode 100755 10.0/apache/docker-entrypoint.sh delete mode 100644 10.0/fpm/Dockerfile delete mode 100644 10.0/fpm/config/apcu.config.php delete mode 100644 10.0/fpm/config/apps.config.php delete mode 100755 10.0/fpm/docker-entrypoint.sh delete mode 100644 Dockerfile-php7.template diff --git a/.travis.yml b/.travis.yml index 3c3779e..9850771 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,11 +45,7 @@ jobs: - ./generate-stackbrew-library.sh - stage: test images - env: VERSION=10.0 VARIANT=fpm ARCH=amd64 - - env: VERSION=10.0 VARIANT=fpm ARCH=i386 - - env: VERSION=10.0 VARIANT=apache ARCH=amd64 - - env: VERSION=10.0 VARIANT=apache ARCH=i386 - - env: VERSION=11.0 VARIANT=fpm ARCH=amd64 + env: VERSION=11.0 VARIANT=fpm ARCH=amd64 - env: VERSION=11.0 VARIANT=fpm ARCH=i386 - env: VERSION=11.0 VARIANT=apache ARCH=amd64 - env: VERSION=11.0 VARIANT=apache ARCH=i386 diff --git a/10.0/apache/Dockerfile b/10.0/apache/Dockerfile deleted file mode 100644 index e10976e..0000000 --- a/10.0/apache/Dockerfile +++ /dev/null @@ -1,70 +0,0 @@ -FROM php:5.6-apache - -RUN apt-get update && apt-get install -y \ - rsync \ - bzip2 \ - libcurl4-openssl-dev \ - libfreetype6-dev \ - libicu-dev \ - libjpeg-dev \ - libldap2-dev \ - libmcrypt-dev \ - libmemcached-dev \ - libpng12-dev \ - libpq-dev \ - libxml2-dev \ - && rm -rf /var/lib/apt/lists/* - -# https://docs.nextcloud.com/server/9/admin_manual/installation/source_installation.html -RUN debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)" \ - && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ - && docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch" \ - && docker-php-ext-install gd exif intl mbstring mcrypt ldap mysql opcache pdo_mysql pdo_pgsql pgsql zip pcntl - -# set recommended PHP.ini settings -# see https://secure.php.net/manual/en/opcache.installation.php -RUN { \ - echo 'opcache.memory_consumption=128'; \ - echo 'opcache.interned_strings_buffer=8'; \ - echo 'opcache.max_accelerated_files=4000'; \ - echo 'opcache.revalidate_freq=60'; \ - echo 'opcache.fast_shutdown=1'; \ - echo 'opcache.enable_cli=1'; \ - } > /usr/local/etc/php/conf.d/opcache-recommended.ini -RUN a2enmod rewrite - -# PECL extensions -RUN set -ex \ - && pecl install APCu-4.0.10 \ - && pecl install memcached-2.2.0 \ - && pecl install redis-2.2.8 \ - && docker-php-ext-enable apcu redis memcached -RUN a2enmod rewrite - -ENV NEXTCLOUD_VERSION 10.0.6 - -RUN chown -R www-data:root /var/www/html && \ - chmod -R g=u /var/www/html -VOLUME /var/www/html - -RUN curl -fsSL -o nextcloud.tar.bz2 \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2" \ - && curl -fsSL -o nextcloud.tar.bz2.asc \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc" \ - && export GNUPGHOME="$(mktemp -d)" \ -# gpg key from https://nextcloud.com/nextcloud.asc - && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 28806A878AE423A28372792ED75899B9A724937A \ - && gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2 \ - && rm -r "$GNUPGHOME" nextcloud.tar.bz2.asc \ - && tar -xjf nextcloud.tar.bz2 -C /usr/src/ \ - && rm nextcloud.tar.bz2 \ - && rm -rf /usr/src/nextcloud/updater \ - && mkdir -p /usr/src/nextcloud/data \ - && mkdir -p /usr/src/nextcloud/custom_apps \ - && chmod +x /usr/src/nextcloud/occ - -COPY docker-entrypoint.sh /entrypoint.sh -COPY config/* /usr/src/nextcloud/config/ - -ENTRYPOINT ["/entrypoint.sh"] -CMD ["apache2-foreground"] diff --git a/10.0/apache/config/apcu.config.php b/10.0/apache/config/apcu.config.php deleted file mode 100644 index 69fed87..0000000 --- a/10.0/apache/config/apcu.config.php +++ /dev/null @@ -1,4 +0,0 @@ - '\OC\Memcache\APCu', -); diff --git a/10.0/apache/config/apps.config.php b/10.0/apache/config/apps.config.php deleted file mode 100644 index a4bed83..0000000 --- a/10.0/apache/config/apps.config.php +++ /dev/null @@ -1,15 +0,0 @@ - array ( - 0 => array ( - "path" => OC::$SERVERROOT."/apps", - "url" => "/apps", - "writable" => false, - ), - 1 => array ( - "path" => OC::$SERVERROOT."/custom_apps", - "url" => "/custom_apps", - "writable" => true, - ), - ), -); diff --git a/10.0/apache/docker-entrypoint.sh b/10.0/apache/docker-entrypoint.sh deleted file mode 100755 index 9298bb4..0000000 --- a/10.0/apache/docker-entrypoint.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -set -e - -# version_greater A B returns whether A > B -function version_greater() { - [[ "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" ]]; -} - -# return true if specified directory is empty -function directory_empty() { - [ -n "$(find "$1"/ -prune -empty)" ] -} - -function run_as() { - if [[ $EUID -eq 0 ]]; then - su - www-data -s /bin/bash -c "$1" - else - bash -c "$1" - fi -} - -installed_version="0.0.0~unknown" -if [ -f /var/www/html/version.php ]; then - installed_version=$(php -r 'require "/var/www/html/version.php"; echo "$OC_VersionString";') -fi -image_version=$(php -r 'require "/usr/src/nextcloud/version.php"; echo "$OC_VersionString";') - -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0~unknown" ]; then - run_as 'php /var/www/html/occ app:list' > /tmp/list_before - fi - if [[ $EUID -eq 0 ]]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - - for dir in config data custom_apps themes; do - if [ ! -d /var/www/html/"$dir" ] || directory_empty /var/www/html/"$dir"; then - rsync $rsync_options --include /"$dir"/ --exclude '/*' /usr/src/nextcloud/ /var/www/html/ - fi - done - - if [ "$installed_version" != "0.0.0~unknown" ]; then - run_as 'php /var/www/html/occ upgrade --no-app-disable' - - run_as 'php /var/www/html/occ app:list' > /tmp/list_after - echo "The following apps have beed disabled:" - diff <(sed -n "/Enabled:/,/Disabled:/p" /tmp/list_before) <(sed -n "/Enabled:/,/Disabled:/p" /tmp/list_after) | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi -fi - -exec "$@" diff --git a/10.0/fpm/Dockerfile b/10.0/fpm/Dockerfile deleted file mode 100644 index 9cc0337..0000000 --- a/10.0/fpm/Dockerfile +++ /dev/null @@ -1,68 +0,0 @@ -FROM php:5.6-fpm - -RUN apt-get update && apt-get install -y \ - rsync \ - bzip2 \ - libcurl4-openssl-dev \ - libfreetype6-dev \ - libicu-dev \ - libjpeg-dev \ - libldap2-dev \ - libmcrypt-dev \ - libmemcached-dev \ - libpng12-dev \ - libpq-dev \ - libxml2-dev \ - && rm -rf /var/lib/apt/lists/* - -# https://docs.nextcloud.com/server/9/admin_manual/installation/source_installation.html -RUN debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)" \ - && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ - && docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch" \ - && docker-php-ext-install gd exif intl mbstring mcrypt ldap mysql opcache pdo_mysql pdo_pgsql pgsql zip pcntl - -# set recommended PHP.ini settings -# see https://secure.php.net/manual/en/opcache.installation.php -RUN { \ - echo 'opcache.memory_consumption=128'; \ - echo 'opcache.interned_strings_buffer=8'; \ - echo 'opcache.max_accelerated_files=4000'; \ - echo 'opcache.revalidate_freq=60'; \ - echo 'opcache.fast_shutdown=1'; \ - echo 'opcache.enable_cli=1'; \ - } > /usr/local/etc/php/conf.d/opcache-recommended.ini - -# PECL extensions -RUN set -ex \ - && pecl install APCu-4.0.10 \ - && pecl install memcached-2.2.0 \ - && pecl install redis-2.2.8 \ - && docker-php-ext-enable apcu redis memcached - -ENV NEXTCLOUD_VERSION 10.0.6 - -RUN chown -R www-data:root /var/www/html && \ - chmod -R g=u /var/www/html -VOLUME /var/www/html - -RUN curl -fsSL -o nextcloud.tar.bz2 \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2" \ - && curl -fsSL -o nextcloud.tar.bz2.asc \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc" \ - && export GNUPGHOME="$(mktemp -d)" \ -# gpg key from https://nextcloud.com/nextcloud.asc - && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 28806A878AE423A28372792ED75899B9A724937A \ - && gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2 \ - && rm -r "$GNUPGHOME" nextcloud.tar.bz2.asc \ - && tar -xjf nextcloud.tar.bz2 -C /usr/src/ \ - && rm nextcloud.tar.bz2 \ - && rm -rf /usr/src/nextcloud/updater \ - && mkdir -p /usr/src/nextcloud/data \ - && mkdir -p /usr/src/nextcloud/custom_apps \ - && chmod +x /usr/src/nextcloud/occ - -COPY docker-entrypoint.sh /entrypoint.sh -COPY config/* /usr/src/nextcloud/config/ - -ENTRYPOINT ["/entrypoint.sh"] -CMD ["php-fpm"] diff --git a/10.0/fpm/config/apcu.config.php b/10.0/fpm/config/apcu.config.php deleted file mode 100644 index 69fed87..0000000 --- a/10.0/fpm/config/apcu.config.php +++ /dev/null @@ -1,4 +0,0 @@ - '\OC\Memcache\APCu', -); diff --git a/10.0/fpm/config/apps.config.php b/10.0/fpm/config/apps.config.php deleted file mode 100644 index a4bed83..0000000 --- a/10.0/fpm/config/apps.config.php +++ /dev/null @@ -1,15 +0,0 @@ - array ( - 0 => array ( - "path" => OC::$SERVERROOT."/apps", - "url" => "/apps", - "writable" => false, - ), - 1 => array ( - "path" => OC::$SERVERROOT."/custom_apps", - "url" => "/custom_apps", - "writable" => true, - ), - ), -); diff --git a/10.0/fpm/docker-entrypoint.sh b/10.0/fpm/docker-entrypoint.sh deleted file mode 100755 index 9298bb4..0000000 --- a/10.0/fpm/docker-entrypoint.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -set -e - -# version_greater A B returns whether A > B -function version_greater() { - [[ "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1" ]]; -} - -# return true if specified directory is empty -function directory_empty() { - [ -n "$(find "$1"/ -prune -empty)" ] -} - -function run_as() { - if [[ $EUID -eq 0 ]]; then - su - www-data -s /bin/bash -c "$1" - else - bash -c "$1" - fi -} - -installed_version="0.0.0~unknown" -if [ -f /var/www/html/version.php ]; then - installed_version=$(php -r 'require "/var/www/html/version.php"; echo "$OC_VersionString";') -fi -image_version=$(php -r 'require "/usr/src/nextcloud/version.php"; echo "$OC_VersionString";') - -if version_greater "$installed_version" "$image_version"; then - echo "Can't start Nextcloud because the version of the data ($installed_version) is higher than the docker image version ($image_version) and downgrading is not supported. Are you sure you have pulled the newest image version?" - exit 1 -fi - -if version_greater "$image_version" "$installed_version"; then - if [ "$installed_version" != "0.0.0~unknown" ]; then - run_as 'php /var/www/html/occ app:list' > /tmp/list_before - fi - if [[ $EUID -eq 0 ]]; then - rsync_options="-rlDog --chown www-data:root" - else - rsync_options="-rlD" - fi - rsync $rsync_options --delete --exclude /config/ --exclude /data/ --exclude /custom_apps/ --exclude /themes/ /usr/src/nextcloud/ /var/www/html/ - - for dir in config data custom_apps themes; do - if [ ! -d /var/www/html/"$dir" ] || directory_empty /var/www/html/"$dir"; then - rsync $rsync_options --include /"$dir"/ --exclude '/*' /usr/src/nextcloud/ /var/www/html/ - fi - done - - if [ "$installed_version" != "0.0.0~unknown" ]; then - run_as 'php /var/www/html/occ upgrade --no-app-disable' - - run_as 'php /var/www/html/occ app:list' > /tmp/list_after - echo "The following apps have beed disabled:" - diff <(sed -n "/Enabled:/,/Disabled:/p" /tmp/list_before) <(sed -n "/Enabled:/,/Disabled:/p" /tmp/list_after) | grep '<' | cut -d- -f2 | cut -d: -f1 - rm -f /tmp/list_before /tmp/list_after - fi -fi - -exec "$@" diff --git a/Dockerfile-php7.template b/Dockerfile-php7.template deleted file mode 100644 index fd15327..0000000 --- a/Dockerfile-php7.template +++ /dev/null @@ -1,71 +0,0 @@ -FROM php:7.1-%%VARIANT%% - -RUN apt-get update && apt-get install -y \ - rsync \ - bzip2 \ - libcurl4-openssl-dev \ - libfreetype6-dev \ - libicu-dev \ - libjpeg-dev \ - libldap2-dev \ - libmcrypt-dev \ - libmemcached-dev \ - libpng12-dev \ - libpq-dev \ - libxml2-dev \ - && rm -rf /var/lib/apt/lists/* - -# https://docs.nextcloud.com/server/9/admin_manual/installation/source_installation.html -RUN debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)" \ - && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ - && docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch" \ - && docker-php-ext-install gd exif intl mbstring mcrypt ldap mysqli opcache pdo_mysql pdo_pgsql pgsql zip pcntl - -# set recommended PHP.ini settings -# see https://docs.nextcloud.com/server/12/admin_manual/configuration_server/server_tuning.html#enable-php-opcache -RUN { \ - echo 'opcache.enable=1'; \ - echo 'opcache.enable_cli=1'; \ - echo 'opcache.interned_strings_buffer=8'; \ - echo 'opcache.max_accelerated_files=10000'; \ - echo 'opcache.memory_consumption=128'; \ - echo 'opcache.save_comments=1'; \ - echo 'opcache.revalidate_freq=1'; \ - } > /usr/local/etc/php/conf.d/opcache-recommended.ini -RUN a2enmod rewrite - -# PECL extensions -RUN set -ex \ - && pecl install APCu-5.1.8 \ - && pecl install memcached-3.0.3 \ - && pecl install redis-3.1.3 \ - && docker-php-ext-enable apcu redis memcached -RUN a2enmod rewrite - -ENV NEXTCLOUD_VERSION %%VERSION%% - -RUN chown -R www-data:root /var/www/html && \ - chmod -R g=u /var/www/html -VOLUME /var/www/html - -RUN curl -fsSL -o nextcloud.tar.bz2 \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2" \ - && curl -fsSL -o nextcloud.tar.bz2.asc \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc" \ - && export GNUPGHOME="$(mktemp -d)" \ -# gpg key from https://nextcloud.com/nextcloud.asc - && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 28806A878AE423A28372792ED75899B9A724937A \ - && gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2 \ - && rm -r "$GNUPGHOME" nextcloud.tar.bz2.asc \ - && tar -xjf nextcloud.tar.bz2 -C /usr/src/ \ - && rm nextcloud.tar.bz2 \ - && rm -rf /usr/src/nextcloud/updater \ - && mkdir -p /usr/src/nextcloud/data \ - && mkdir -p /usr/src/nextcloud/custom_apps \ - && chmod +x /usr/src/nextcloud/occ - -COPY docker-entrypoint.sh /entrypoint.sh -COPY config/* /usr/src/nextcloud/config/ - -ENTRYPOINT ["/entrypoint.sh"] -CMD ["%%CMD%%"] diff --git a/Dockerfile.template b/Dockerfile.template index fbf9d62..fd15327 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -1,4 +1,4 @@ -FROM php:5.6-%%VARIANT%% +FROM php:7.1-%%VARIANT%% RUN apt-get update && apt-get install -y \ rsync \ @@ -19,25 +19,26 @@ RUN apt-get update && apt-get install -y \ RUN debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)" \ && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ && docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch" \ - && docker-php-ext-install gd exif intl mbstring mcrypt ldap mysql opcache pdo_mysql pdo_pgsql pgsql zip pcntl + && docker-php-ext-install gd exif intl mbstring mcrypt ldap mysqli opcache pdo_mysql pdo_pgsql pgsql zip pcntl # set recommended PHP.ini settings -# see https://secure.php.net/manual/en/opcache.installation.php +# see https://docs.nextcloud.com/server/12/admin_manual/configuration_server/server_tuning.html#enable-php-opcache RUN { \ - echo 'opcache.memory_consumption=128'; \ - echo 'opcache.interned_strings_buffer=8'; \ - echo 'opcache.max_accelerated_files=4000'; \ - echo 'opcache.revalidate_freq=60'; \ - echo 'opcache.fast_shutdown=1'; \ - echo 'opcache.enable_cli=1'; \ + echo 'opcache.enable=1'; \ + echo 'opcache.enable_cli=1'; \ + echo 'opcache.interned_strings_buffer=8'; \ + echo 'opcache.max_accelerated_files=10000'; \ + echo 'opcache.memory_consumption=128'; \ + echo 'opcache.save_comments=1'; \ + echo 'opcache.revalidate_freq=1'; \ } > /usr/local/etc/php/conf.d/opcache-recommended.ini RUN a2enmod rewrite # PECL extensions RUN set -ex \ - && pecl install APCu-4.0.10 \ - && pecl install memcached-2.2.0 \ - && pecl install redis-2.2.8 \ + && pecl install APCu-5.1.8 \ + && pecl install memcached-3.0.3 \ + && pecl install redis-3.1.3 \ && docker-php-ext-enable apcu redis memcached RUN a2enmod rewrite diff --git a/update.sh b/update.sh index da0d6ad..ad6efc4 100755 --- a/update.sh +++ b/update.sh @@ -26,17 +26,14 @@ for latest in "${latests[@]}"; do continue fi - # Only add versions >= 10 - if version_greater_or_equal "$version" "10.0"; then + # Only add versions >= 11 + if version_greater_or_equal "$version" "11.0"; then for variant in apache fpm; do # Create the version+variant directory with a Dockerfile. mkdir -p "$version/$variant" template="Dockerfile.template" - if version_greater_or_equal "$version" "11.0"; then - template="Dockerfile-php7.template" - fi cp "$template" "$version/$variant/Dockerfile" echo "updating $latest [$version] $variant"