From 2682897c5782e7376f4055cb0c7164827c8b9f70 Mon Sep 17 00:00:00 2001 From: Mike Cronce Date: Thu, 4 Dec 2025 01:58:02 -0500 Subject: [PATCH 1/2] Change templates to run core Nextcloud files from container ephemeral storage Signed-off-by: Mike Cronce --- Dockerfile-alpine.template | 21 +++++++++++++++------ Dockerfile-debian.template | 21 +++++++++++++++------ docker-entrypoint.sh | 11 ++++++----- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index a7238bb74..05aca1f00 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -124,7 +124,11 @@ RUN { \ chown -R www-data:root /var/www; \ chmod -R g=u /var/www -VOLUME /var/www/html +VOLUME /var/www/html/data +VOLUME /var/www/html/config +VOLUME /var/www/html/custom_apps +VOLUME /var/www/html/themes +VOLUME /var/www/tmp %%VARIANT_EXTRAS%% ENV NEXTCLOUD_VERSION %%VERSION%% @@ -142,12 +146,17 @@ RUN set -ex; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ tar -xjf nextcloud.tar.bz2 -C /usr/src/; \ + mkdir /usr/src/nextcloud-base; \ + mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \ + rm -Rvf /var/www/html; \ + mv -vf /usr/src/nextcloud /var/www/html; \ + mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \ gpgconf --kill all; \ - rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ - rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \ - mkdir -p /usr/src/nextcloud/data; \ - mkdir -p /usr/src/nextcloud/custom_apps; \ - chmod +x /usr/src/nextcloud/occ; \ + rm -rf "$GNUPGHOME" /var/www/html/updater; \ + mkdir -p /var/www/html/data; \ + mkdir -p /var/www/html/custom_apps; \ + mkdir -p /var/www/html/themes; \ + chmod +x /var/www/html/occ; \ apk del --no-network .fetch-deps COPY *.sh upgrade.exclude / diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index 10974d6dc..78437c8c6 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -131,7 +131,11 @@ RUN { \ chown -R www-data:root /var/www; \ chmod -R g=u /var/www -VOLUME /var/www/html +VOLUME /var/www/html/data +VOLUME /var/www/html/config +VOLUME /var/www/html/custom_apps +VOLUME /var/www/html/themes +VOLUME /var/www/tmp %%VARIANT_EXTRAS%% ENV NEXTCLOUD_VERSION %%VERSION%% @@ -151,12 +155,17 @@ RUN set -ex; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ tar -xjf nextcloud.tar.bz2 -C /usr/src/; \ + mkdir /usr/src/nextcloud-base; \ + mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \ + rm -Rvf /var/www/html; \ + mv -vf /usr/src/nextcloud /var/www/html; \ + mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \ gpgconf --kill all; \ - rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ - rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \ - mkdir -p /usr/src/nextcloud/data; \ - mkdir -p /usr/src/nextcloud/custom_apps; \ - chmod +x /usr/src/nextcloud/occ; \ + rm -rf "$GNUPGHOME" /var/www/html/updater; \ + mkdir -p /var/www/html/data; \ + mkdir -p /var/www/html/custom_apps; \ + mkdir -p /var/www/html/themes; \ + chmod +x /var/www/html/occ; \ \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \ apt-get dist-clean diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index e3b88f147..ed99ffffb 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -157,12 +157,12 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi installed_version="0.0.0.0" - if [ -f /var/www/html/version.php ]; then + if [ -f /var/www/html/config/version.php ]; then # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + installed_version="$(php -r 'require "/var/www/html/config/version.php"; echo implode(".", $OC_Version);')" fi # shellcheck disable=SC2016 - image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" 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?" @@ -186,13 +186,11 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP rsync_options="-rlD" fi - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /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 - rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/ # Install if [ "$installed_version" = "0.0.0.0" ]; then @@ -284,6 +282,9 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + cp -vf /var/www/html/version.php /var/www/html/config/ + chown -c $user:$group /var/www/html/config/version.php + echo "Initializing finished" fi From 419125f3665db789e716337a700369402307bb4b Mon Sep 17 00:00:00 2001 From: Mike Cronce Date: Thu, 4 Dec 2025 01:58:10 -0500 Subject: [PATCH 2/2] Run update.sh Signed-off-by: Mike Cronce --- 31/apache/Dockerfile | 21 +++++++++++++++------ 31/apache/entrypoint.sh | 11 ++++++----- 31/fpm-alpine/Dockerfile | 21 +++++++++++++++------ 31/fpm-alpine/entrypoint.sh | 11 ++++++----- 31/fpm/Dockerfile | 21 +++++++++++++++------ 31/fpm/entrypoint.sh | 11 ++++++----- 32/apache/Dockerfile | 21 +++++++++++++++------ 32/apache/entrypoint.sh | 11 ++++++----- 32/fpm-alpine/Dockerfile | 21 +++++++++++++++------ 32/fpm-alpine/entrypoint.sh | 11 ++++++----- 32/fpm/Dockerfile | 21 +++++++++++++++------ 32/fpm/entrypoint.sh | 11 ++++++----- 12 files changed, 126 insertions(+), 66 deletions(-) diff --git a/31/apache/Dockerfile b/31/apache/Dockerfile index 05ffd5f97..c7977fc83 100644 --- a/31/apache/Dockerfile +++ b/31/apache/Dockerfile @@ -132,7 +132,11 @@ RUN { \ chown -R www-data:root /var/www; \ chmod -R g=u /var/www -VOLUME /var/www/html +VOLUME /var/www/html/data +VOLUME /var/www/html/config +VOLUME /var/www/html/custom_apps +VOLUME /var/www/html/themes +VOLUME /var/www/tmp RUN a2enmod headers rewrite remoteip ; \ { \ @@ -167,12 +171,17 @@ RUN set -ex; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ tar -xjf nextcloud.tar.bz2 -C /usr/src/; \ + mkdir /usr/src/nextcloud-base; \ + mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \ + rm -Rvf /var/www/html; \ + mv -vf /usr/src/nextcloud /var/www/html; \ + mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \ gpgconf --kill all; \ - rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ - rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \ - mkdir -p /usr/src/nextcloud/data; \ - mkdir -p /usr/src/nextcloud/custom_apps; \ - chmod +x /usr/src/nextcloud/occ; \ + rm -rf "$GNUPGHOME" /var/www/html/updater; \ + mkdir -p /var/www/html/data; \ + mkdir -p /var/www/html/custom_apps; \ + mkdir -p /var/www/html/themes; \ + chmod +x /var/www/html/occ; \ \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \ apt-get dist-clean diff --git a/31/apache/entrypoint.sh b/31/apache/entrypoint.sh index e3b88f147..ed99ffffb 100755 --- a/31/apache/entrypoint.sh +++ b/31/apache/entrypoint.sh @@ -157,12 +157,12 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi installed_version="0.0.0.0" - if [ -f /var/www/html/version.php ]; then + if [ -f /var/www/html/config/version.php ]; then # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + installed_version="$(php -r 'require "/var/www/html/config/version.php"; echo implode(".", $OC_Version);')" fi # shellcheck disable=SC2016 - image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" 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?" @@ -186,13 +186,11 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP rsync_options="-rlD" fi - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /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 - rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/ # Install if [ "$installed_version" = "0.0.0.0" ]; then @@ -284,6 +282,9 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + cp -vf /var/www/html/version.php /var/www/html/config/ + chown -c $user:$group /var/www/html/config/version.php + echo "Initializing finished" fi diff --git a/31/fpm-alpine/Dockerfile b/31/fpm-alpine/Dockerfile index 27e18cef2..14905016a 100644 --- a/31/fpm-alpine/Dockerfile +++ b/31/fpm-alpine/Dockerfile @@ -125,7 +125,11 @@ RUN { \ chown -R www-data:root /var/www; \ chmod -R g=u /var/www -VOLUME /var/www/html +VOLUME /var/www/html/data +VOLUME /var/www/html/config +VOLUME /var/www/html/custom_apps +VOLUME /var/www/html/themes +VOLUME /var/www/tmp ENV NEXTCLOUD_VERSION 31.0.11 @@ -143,12 +147,17 @@ RUN set -ex; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ tar -xjf nextcloud.tar.bz2 -C /usr/src/; \ + mkdir /usr/src/nextcloud-base; \ + mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \ + rm -Rvf /var/www/html; \ + mv -vf /usr/src/nextcloud /var/www/html; \ + mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \ gpgconf --kill all; \ - rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ - rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \ - mkdir -p /usr/src/nextcloud/data; \ - mkdir -p /usr/src/nextcloud/custom_apps; \ - chmod +x /usr/src/nextcloud/occ; \ + rm -rf "$GNUPGHOME" /var/www/html/updater; \ + mkdir -p /var/www/html/data; \ + mkdir -p /var/www/html/custom_apps; \ + mkdir -p /var/www/html/themes; \ + chmod +x /var/www/html/occ; \ apk del --no-network .fetch-deps COPY *.sh upgrade.exclude / diff --git a/31/fpm-alpine/entrypoint.sh b/31/fpm-alpine/entrypoint.sh index e3b88f147..ed99ffffb 100755 --- a/31/fpm-alpine/entrypoint.sh +++ b/31/fpm-alpine/entrypoint.sh @@ -157,12 +157,12 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi installed_version="0.0.0.0" - if [ -f /var/www/html/version.php ]; then + if [ -f /var/www/html/config/version.php ]; then # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + installed_version="$(php -r 'require "/var/www/html/config/version.php"; echo implode(".", $OC_Version);')" fi # shellcheck disable=SC2016 - image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" 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?" @@ -186,13 +186,11 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP rsync_options="-rlD" fi - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /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 - rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/ # Install if [ "$installed_version" = "0.0.0.0" ]; then @@ -284,6 +282,9 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + cp -vf /var/www/html/version.php /var/www/html/config/ + chown -c $user:$group /var/www/html/config/version.php + echo "Initializing finished" fi diff --git a/31/fpm/Dockerfile b/31/fpm/Dockerfile index efc0dcd9a..30316b1b3 100644 --- a/31/fpm/Dockerfile +++ b/31/fpm/Dockerfile @@ -132,7 +132,11 @@ RUN { \ chown -R www-data:root /var/www; \ chmod -R g=u /var/www -VOLUME /var/www/html +VOLUME /var/www/html/data +VOLUME /var/www/html/config +VOLUME /var/www/html/custom_apps +VOLUME /var/www/html/themes +VOLUME /var/www/tmp ENV NEXTCLOUD_VERSION 31.0.11 @@ -152,12 +156,17 @@ RUN set -ex; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ tar -xjf nextcloud.tar.bz2 -C /usr/src/; \ + mkdir /usr/src/nextcloud-base; \ + mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \ + rm -Rvf /var/www/html; \ + mv -vf /usr/src/nextcloud /var/www/html; \ + mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \ gpgconf --kill all; \ - rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ - rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \ - mkdir -p /usr/src/nextcloud/data; \ - mkdir -p /usr/src/nextcloud/custom_apps; \ - chmod +x /usr/src/nextcloud/occ; \ + rm -rf "$GNUPGHOME" /var/www/html/updater; \ + mkdir -p /var/www/html/data; \ + mkdir -p /var/www/html/custom_apps; \ + mkdir -p /var/www/html/themes; \ + chmod +x /var/www/html/occ; \ \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \ apt-get dist-clean diff --git a/31/fpm/entrypoint.sh b/31/fpm/entrypoint.sh index e3b88f147..ed99ffffb 100755 --- a/31/fpm/entrypoint.sh +++ b/31/fpm/entrypoint.sh @@ -157,12 +157,12 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi installed_version="0.0.0.0" - if [ -f /var/www/html/version.php ]; then + if [ -f /var/www/html/config/version.php ]; then # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + installed_version="$(php -r 'require "/var/www/html/config/version.php"; echo implode(".", $OC_Version);')" fi # shellcheck disable=SC2016 - image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" 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?" @@ -186,13 +186,11 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP rsync_options="-rlD" fi - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /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 - rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/ # Install if [ "$installed_version" = "0.0.0.0" ]; then @@ -284,6 +282,9 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + cp -vf /var/www/html/version.php /var/www/html/config/ + chown -c $user:$group /var/www/html/config/version.php + echo "Initializing finished" fi diff --git a/32/apache/Dockerfile b/32/apache/Dockerfile index 2e0f39bbb..b83a96f50 100644 --- a/32/apache/Dockerfile +++ b/32/apache/Dockerfile @@ -132,7 +132,11 @@ RUN { \ chown -R www-data:root /var/www; \ chmod -R g=u /var/www -VOLUME /var/www/html +VOLUME /var/www/html/data +VOLUME /var/www/html/config +VOLUME /var/www/html/custom_apps +VOLUME /var/www/html/themes +VOLUME /var/www/tmp RUN a2enmod headers rewrite remoteip ; \ { \ @@ -167,12 +171,17 @@ RUN set -ex; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ tar -xjf nextcloud.tar.bz2 -C /usr/src/; \ + mkdir /usr/src/nextcloud-base; \ + mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \ + rm -Rvf /var/www/html; \ + mv -vf /usr/src/nextcloud /var/www/html; \ + mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \ gpgconf --kill all; \ - rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ - rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \ - mkdir -p /usr/src/nextcloud/data; \ - mkdir -p /usr/src/nextcloud/custom_apps; \ - chmod +x /usr/src/nextcloud/occ; \ + rm -rf "$GNUPGHOME" /var/www/html/updater; \ + mkdir -p /var/www/html/data; \ + mkdir -p /var/www/html/custom_apps; \ + mkdir -p /var/www/html/themes; \ + chmod +x /var/www/html/occ; \ \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \ apt-get dist-clean diff --git a/32/apache/entrypoint.sh b/32/apache/entrypoint.sh index e3b88f147..ed99ffffb 100755 --- a/32/apache/entrypoint.sh +++ b/32/apache/entrypoint.sh @@ -157,12 +157,12 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi installed_version="0.0.0.0" - if [ -f /var/www/html/version.php ]; then + if [ -f /var/www/html/config/version.php ]; then # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + installed_version="$(php -r 'require "/var/www/html/config/version.php"; echo implode(".", $OC_Version);')" fi # shellcheck disable=SC2016 - image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" 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?" @@ -186,13 +186,11 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP rsync_options="-rlD" fi - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /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 - rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/ # Install if [ "$installed_version" = "0.0.0.0" ]; then @@ -284,6 +282,9 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + cp -vf /var/www/html/version.php /var/www/html/config/ + chown -c $user:$group /var/www/html/config/version.php + echo "Initializing finished" fi diff --git a/32/fpm-alpine/Dockerfile b/32/fpm-alpine/Dockerfile index f0c8655d3..637233d02 100644 --- a/32/fpm-alpine/Dockerfile +++ b/32/fpm-alpine/Dockerfile @@ -125,7 +125,11 @@ RUN { \ chown -R www-data:root /var/www; \ chmod -R g=u /var/www -VOLUME /var/www/html +VOLUME /var/www/html/data +VOLUME /var/www/html/config +VOLUME /var/www/html/custom_apps +VOLUME /var/www/html/themes +VOLUME /var/www/tmp ENV NEXTCLOUD_VERSION 32.0.2 @@ -143,12 +147,17 @@ RUN set -ex; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ tar -xjf nextcloud.tar.bz2 -C /usr/src/; \ + mkdir /usr/src/nextcloud-base; \ + mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \ + rm -Rvf /var/www/html; \ + mv -vf /usr/src/nextcloud /var/www/html; \ + mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \ gpgconf --kill all; \ - rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ - rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \ - mkdir -p /usr/src/nextcloud/data; \ - mkdir -p /usr/src/nextcloud/custom_apps; \ - chmod +x /usr/src/nextcloud/occ; \ + rm -rf "$GNUPGHOME" /var/www/html/updater; \ + mkdir -p /var/www/html/data; \ + mkdir -p /var/www/html/custom_apps; \ + mkdir -p /var/www/html/themes; \ + chmod +x /var/www/html/occ; \ apk del --no-network .fetch-deps COPY *.sh upgrade.exclude / diff --git a/32/fpm-alpine/entrypoint.sh b/32/fpm-alpine/entrypoint.sh index e3b88f147..ed99ffffb 100755 --- a/32/fpm-alpine/entrypoint.sh +++ b/32/fpm-alpine/entrypoint.sh @@ -157,12 +157,12 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi installed_version="0.0.0.0" - if [ -f /var/www/html/version.php ]; then + if [ -f /var/www/html/config/version.php ]; then # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + installed_version="$(php -r 'require "/var/www/html/config/version.php"; echo implode(".", $OC_Version);')" fi # shellcheck disable=SC2016 - image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" 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?" @@ -186,13 +186,11 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP rsync_options="-rlD" fi - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /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 - rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/ # Install if [ "$installed_version" = "0.0.0.0" ]; then @@ -284,6 +282,9 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + cp -vf /var/www/html/version.php /var/www/html/config/ + chown -c $user:$group /var/www/html/config/version.php + echo "Initializing finished" fi diff --git a/32/fpm/Dockerfile b/32/fpm/Dockerfile index 9c56c679f..3bcfa8606 100644 --- a/32/fpm/Dockerfile +++ b/32/fpm/Dockerfile @@ -132,7 +132,11 @@ RUN { \ chown -R www-data:root /var/www; \ chmod -R g=u /var/www -VOLUME /var/www/html +VOLUME /var/www/html/data +VOLUME /var/www/html/config +VOLUME /var/www/html/custom_apps +VOLUME /var/www/html/themes +VOLUME /var/www/tmp ENV NEXTCLOUD_VERSION 32.0.2 @@ -152,12 +156,17 @@ RUN set -ex; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --verify nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ tar -xjf nextcloud.tar.bz2 -C /usr/src/; \ + mkdir /usr/src/nextcloud-base; \ + mv -vf /usr/src/nextcloud/config /usr/src/nextcloud/themes /usr/src/nextcloud-base/; \ + rm -Rvf /var/www/html; \ + mv -vf /usr/src/nextcloud /var/www/html; \ + mv -vf /usr/src/nextcloud-base /usr/src/nextcloud; \ gpgconf --kill all; \ - rm nextcloud.tar.bz2.asc nextcloud.tar.bz2; \ - rm -rf "$GNUPGHOME" /usr/src/nextcloud/updater; \ - mkdir -p /usr/src/nextcloud/data; \ - mkdir -p /usr/src/nextcloud/custom_apps; \ - chmod +x /usr/src/nextcloud/occ; \ + rm -rf "$GNUPGHOME" /var/www/html/updater; \ + mkdir -p /var/www/html/data; \ + mkdir -p /var/www/html/custom_apps; \ + mkdir -p /var/www/html/themes; \ + chmod +x /var/www/html/occ; \ \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \ apt-get dist-clean diff --git a/32/fpm/entrypoint.sh b/32/fpm/entrypoint.sh index e3b88f147..ed99ffffb 100755 --- a/32/fpm/entrypoint.sh +++ b/32/fpm/entrypoint.sh @@ -157,12 +157,12 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP fi installed_version="0.0.0.0" - if [ -f /var/www/html/version.php ]; then + if [ -f /var/www/html/config/version.php ]; then # shellcheck disable=SC2016 - installed_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" + installed_version="$(php -r 'require "/var/www/html/config/version.php"; echo implode(".", $OC_Version);')" fi # shellcheck disable=SC2016 - image_version="$(php -r 'require "/usr/src/nextcloud/version.php"; echo implode(".", $OC_Version);')" + image_version="$(php -r 'require "/var/www/html/version.php"; echo implode(".", $OC_Version);')" 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?" @@ -186,13 +186,11 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP rsync_options="-rlD" fi - rsync $rsync_options --delete --exclude-from=/upgrade.exclude /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 - rsync $rsync_options --include '/version.php' --exclude '/*' /usr/src/nextcloud/ /var/www/html/ # Install if [ "$installed_version" = "0.0.0.0" ]; then @@ -284,6 +282,9 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP run_path post-upgrade fi + cp -vf /var/www/html/version.php /var/www/html/config/ + chown -c $user:$group /var/www/html/config/version.php + echo "Initializing finished" fi