diff --git a/29/apache/Dockerfile b/29/apache/Dockerfile index 6705b196..20a8c8fb 100644 --- a/29/apache/Dockerfile +++ b/29/apache/Dockerfile @@ -140,7 +140,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ @@ -166,7 +167,7 @@ RUN { \ } > /etc/apache2/conf-available/apache-limits.conf; \ a2enconf apache-limits -ENV NEXTCLOUD_VERSION 29.0.14 +ENV NEXTCLOUD_VERSION 29.0.15 RUN set -ex; \ fetchDeps=" \ @@ -176,8 +177,8 @@ RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends $fetchDeps; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.14.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.14.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/29/apache/entrypoint.sh b/29/apache/entrypoint.sh index 8e178f2e..17b85355 100755 --- a/29/apache/entrypoint.sh +++ b/29/apache/entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/29/fpm-alpine/Dockerfile b/29/fpm-alpine/Dockerfile index d0058db8..96fa159f 100644 --- a/29/fpm-alpine/Dockerfile +++ b/29/fpm-alpine/Dockerfile @@ -135,7 +135,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ @@ -146,7 +147,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 29.0.14 +ENV NEXTCLOUD_VERSION 29.0.15 RUN set -ex; \ apk add --no-cache --virtual .fetch-deps \ @@ -154,8 +155,8 @@ RUN set -ex; \ gnupg \ ; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.14.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.14.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/29/fpm-alpine/entrypoint.sh b/29/fpm-alpine/entrypoint.sh index 8e178f2e..17b85355 100755 --- a/29/fpm-alpine/entrypoint.sh +++ b/29/fpm-alpine/entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/29/fpm/Dockerfile b/29/fpm/Dockerfile index 2833cad0..bb7472c3 100644 --- a/29/fpm/Dockerfile +++ b/29/fpm/Dockerfile @@ -140,7 +140,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ @@ -151,7 +152,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 29.0.14 +ENV NEXTCLOUD_VERSION 29.0.15 RUN set -ex; \ fetchDeps=" \ @@ -161,8 +162,8 @@ RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends $fetchDeps; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.14.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.14.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/29/fpm/entrypoint.sh b/29/fpm/entrypoint.sh index 8e178f2e..17b85355 100755 --- a/29/fpm/entrypoint.sh +++ b/29/fpm/entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/30/apache/Dockerfile b/30/apache/Dockerfile index 6034a23d..36a4a41f 100644 --- a/30/apache/Dockerfile +++ b/30/apache/Dockerfile @@ -140,7 +140,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ @@ -166,7 +167,7 @@ RUN { \ } > /etc/apache2/conf-available/apache-limits.conf; \ a2enconf apache-limits -ENV NEXTCLOUD_VERSION 30.0.8 +ENV NEXTCLOUD_VERSION 30.0.9 RUN set -ex; \ fetchDeps=" \ @@ -176,8 +177,8 @@ RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends $fetchDeps; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.8.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.8.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/30/apache/entrypoint.sh b/30/apache/entrypoint.sh index 8e178f2e..17b85355 100755 --- a/30/apache/entrypoint.sh +++ b/30/apache/entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/30/fpm-alpine/Dockerfile b/30/fpm-alpine/Dockerfile index 0a88a77e..648b775c 100644 --- a/30/fpm-alpine/Dockerfile +++ b/30/fpm-alpine/Dockerfile @@ -135,7 +135,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ @@ -146,7 +147,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 30.0.8 +ENV NEXTCLOUD_VERSION 30.0.9 RUN set -ex; \ apk add --no-cache --virtual .fetch-deps \ @@ -154,8 +155,8 @@ RUN set -ex; \ gnupg \ ; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.8.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.8.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/30/fpm-alpine/entrypoint.sh b/30/fpm-alpine/entrypoint.sh index 8e178f2e..17b85355 100755 --- a/30/fpm-alpine/entrypoint.sh +++ b/30/fpm-alpine/entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/30/fpm/Dockerfile b/30/fpm/Dockerfile index 163df8c7..46da1e41 100644 --- a/30/fpm/Dockerfile +++ b/30/fpm/Dockerfile @@ -140,7 +140,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ @@ -151,7 +152,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 30.0.8 +ENV NEXTCLOUD_VERSION 30.0.9 RUN set -ex; \ fetchDeps=" \ @@ -161,8 +162,8 @@ RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends $fetchDeps; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.8.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.8.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/30/fpm/entrypoint.sh b/30/fpm/entrypoint.sh index 8e178f2e..17b85355 100755 --- a/30/fpm/entrypoint.sh +++ b/30/fpm/entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/31/apache/Dockerfile b/31/apache/Dockerfile index bb799ffe..37a4a19f 100644 --- a/31/apache/Dockerfile +++ b/31/apache/Dockerfile @@ -140,7 +140,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ @@ -166,7 +167,7 @@ RUN { \ } > /etc/apache2/conf-available/apache-limits.conf; \ a2enconf apache-limits -ENV NEXTCLOUD_VERSION 31.0.2 +ENV NEXTCLOUD_VERSION 31.0.3 RUN set -ex; \ fetchDeps=" \ @@ -176,8 +177,8 @@ RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends $fetchDeps; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.2.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.2.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/31/apache/entrypoint.sh b/31/apache/entrypoint.sh index 8e178f2e..17b85355 100755 --- a/31/apache/entrypoint.sh +++ b/31/apache/entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/31/fpm-alpine/Dockerfile b/31/fpm-alpine/Dockerfile index 7b9a37a1..996ccc2f 100644 --- a/31/fpm-alpine/Dockerfile +++ b/31/fpm-alpine/Dockerfile @@ -135,7 +135,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ @@ -146,7 +147,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 31.0.2 +ENV NEXTCLOUD_VERSION 31.0.3 RUN set -ex; \ apk add --no-cache --virtual .fetch-deps \ @@ -154,8 +155,8 @@ RUN set -ex; \ gnupg \ ; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.2.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.2.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/31/fpm-alpine/entrypoint.sh b/31/fpm-alpine/entrypoint.sh index 8e178f2e..17b85355 100755 --- a/31/fpm-alpine/entrypoint.sh +++ b/31/fpm-alpine/entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/31/fpm/Dockerfile b/31/fpm/Dockerfile index 4579215f..f3e5967b 100644 --- a/31/fpm/Dockerfile +++ b/31/fpm/Dockerfile @@ -140,7 +140,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ @@ -151,7 +152,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 31.0.2 +ENV NEXTCLOUD_VERSION 31.0.3 RUN set -ex; \ fetchDeps=" \ @@ -161,8 +162,8 @@ RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends $fetchDeps; \ \ - curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.2.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.2.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ diff --git a/31/fpm/entrypoint.sh b/31/fpm/entrypoint.sh index 8e178f2e..17b85355 100755 --- a/31/fpm/entrypoint.sh +++ b/31/fpm/entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 2295bddf..d256d3da 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -134,7 +134,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index 8734caa9..c0bd4dd9 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -139,7 +139,8 @@ RUN { \ } > "${PHP_INI_DIR}/conf.d/nextcloud.ini"; \ \ mkdir /var/www/data; \ - mkdir -p /docker-entrypoint-hooks.d/pre-installation \ + mkdir -p /docker-entrypoint-hooks.d/pre-initialization \ + /docker-entrypoint-hooks.d/pre-installation \ /docker-entrypoint-hooks.d/post-installation \ /docker-entrypoint-hooks.d/pre-upgrade \ /docker-entrypoint-hooks.d/post-upgrade \ diff --git a/README.md b/README.md index 7de62124..45ca73a0 100644 --- a/README.md +++ b/README.md @@ -362,8 +362,9 @@ As long as you have not modified any of the provided config files in `/var/www/h ## Auto configuration via hook folders -There are 5 hooks +There are 6 hooks +- `pre-initialization` Executed before the need to update or install Nextcloud is determined - `pre-installation` Executed before the Nextcloud is installed/initiated - `post-installation` Executed after the Nextcloud is installed/initiated - `pre-upgrade` Executed before the Nextcloud is upgraded @@ -383,6 +384,7 @@ To use the hooks triggered by the `entrypoint` script, either image: nextcloud:stable volumes: + - ./app-hooks/pre-initialization:/docker-entrypoint-hooks.d/pre-initialization - ./app-hooks/pre-installation:/docker-entrypoint-hooks.d/pre-installation - ./app-hooks/post-installation:/docker-entrypoint-hooks.d/post-installation - ./app-hooks/pre-upgrade:/docker-entrypoint-hooks.d/pre-upgrade @@ -391,6 +393,16 @@ To use the hooks triggered by the `entrypoint` script, either ... ``` +## Forcing an upgrade run + +Sometimes you need to force an explicit upgrade run even when the bundled Nextcloud version did not change. +An example would be when you have custom apps bundled and you want to update those. + +To do this, you can simply create a file `/tmp/nextcloud-force-initialization` before the need for an upgrade is determined. +The content is irrelevant. +You can either create this file before starting the container, or you can use the `pre-initialization` hook to create it. +After the update has successfully run, the file is removed automatically. + # Running this image with `docker compose` The easiest way to get a fully featured and functional setup is using a `compose.yaml` file. There are too many different possibilities to setup your system, so here are only some examples of what you have to look for. diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 8e178f2e..17b85355 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -141,6 +141,8 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP flock 9 fi + run_path pre-initialization + installed_version="0.0.0.0" if [ -f /var/www/html/version.php ]; then # shellcheck disable=SC2016 @@ -154,7 +156,18 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP exit 1 fi + need_initialization=false + if version_greater "$image_version" "$installed_version"; then + need_initialization=true + fi + + if [ -f /tmp/nextcloud-force-initialization ]; then + echo Found /tmp/nextcloud-force-initialization, forcing initialization + need_initialization=true + fi + + if [ "true" = "$need_initialization" ]; then echo "Initializing nextcloud $image_version ..." if [ "$installed_version" != "0.0.0.0" ]; then if [ "${image_version%%.*}" -gt "$((${installed_version%%.*} + 1))" ]; then @@ -246,7 +259,7 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi run_path post-installation - fi + fi fi # not enough specified to do a fully automated installation if [ "$install" = false ]; then @@ -267,6 +280,10 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + if [ -f /tmp/nextcloud-force-initialization ]; then + rm /tmp/nextcloud-force-initialization + fi + echo "Initializing finished" fi diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 978d07fc..2b523c0e 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -Eeuo pipefail -stable_channel='30.0.8' +stable_channel='30.0.9' self="$(basename "$BASH_SOURCE")" cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" diff --git a/latest.txt b/latest.txt index 732676bd..ec15973e 100644 --- a/latest.txt +++ b/latest.txt @@ -1 +1 @@ -31.0.2 +31.0.3 diff --git a/versions.json b/versions.json index cf55b440..36e04efe 100644 --- a/versions.json +++ b/versions.json @@ -1,9 +1,9 @@ { "31": { "branch": "31", - "version": "31.0.2", - "url": "https://download.nextcloud.com/server/releases/nextcloud-31.0.2.tar.bz2", - "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-31.0.2.tar.bz2.asc", + "version": "31.0.3", + "url": "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2", + "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2.asc", "variants": { "apache": { "variant": "apache", @@ -27,9 +27,9 @@ }, "30": { "branch": "30", - "version": "30.0.8", - "url": "https://download.nextcloud.com/server/releases/nextcloud-30.0.8.tar.bz2", - "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-30.0.8.tar.bz2.asc", + "version": "30.0.9", + "url": "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2", + "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2.asc", "variants": { "apache": { "variant": "apache", @@ -53,9 +53,9 @@ }, "29": { "branch": "29", - "version": "29.0.14", - "url": "https://download.nextcloud.com/server/releases/nextcloud-29.0.14.tar.bz2", - "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-29.0.14.tar.bz2.asc", + "version": "29.0.15", + "url": "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2", + "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2.asc", "variants": { "apache": { "variant": "apache",