diff --git a/.github/workflows/docker-build-push.yml b/.github/workflows/docker-build-push.yml index 08326e0d..3c3bc8fd 100644 --- a/.github/workflows/docker-build-push.yml +++ b/.github/workflows/docker-build-push.yml @@ -81,4 +81,21 @@ jobs: context: ./26/apache push: true tags: glauciocampos/nextcloud:26-apache-arm64-${{ env.TAG_RANDOM }} - platforms: linux/arm64 + platforms: linux/arm64 + + name: Nextcloud 27 Apache (amd64) + uses: docker/build-push-action@v4 + with: + context: ./27/apache + push: true + tags: glauciocampos/nextcloud:27-apache-amd64-${{ env.TAG_RANDOM }} + platforms: linux/amd64 + + - + name: Nextcloud 27 Apache (arm64) + uses: docker/build-push-action@v4 + with: + context: ./27/apache + push: true + tags: glauciocampos/nextcloud:27-apache-arm64-${{ env.TAG_RANDOM }} + platforms: linux/arm64 \ No newline at end of file diff --git a/.github/workflows/tagging-and-release.yaml b/.github/workflows/tagging-and-release.yaml index 009c8d5a..704bdf70 100644 --- a/.github/workflows/tagging-and-release.yaml +++ b/.github/workflows/tagging-and-release.yaml @@ -24,6 +24,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} with: + tag_name: v1.0.1 draft: false allowUpdates: true prerelease: false diff --git a/25/apache/Dockerfile b/25/apache/Dockerfile index c9d4558a..af92fbf6 100644 --- a/25/apache/Dockerfile +++ b/25/apache/Dockerfile @@ -129,7 +129,7 @@ RUN a2enmod headers rewrite remoteip ;\ } > /etc/apache2/conf-available/remoteip.conf;\ a2enconf remoteip -ENV NEXTCLOUD_VERSION 25.0.6 +ENV NEXTCLOUD_VERSION 25.0.7 RUN set -ex; \ fetchDeps=" \ @@ -139,10 +139,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-${NEXTCLOUD_VERSION}.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.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/25/fpm-alpine/Dockerfile b/25/fpm-alpine/Dockerfile index 05dd32a9..460cfb46 100644 --- a/25/fpm-alpine/Dockerfile +++ b/25/fpm-alpine/Dockerfile @@ -72,8 +72,8 @@ RUN set -ex; \ | 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 + apk add --no-network --virtual .nextcloud-phpext-rundeps $runDeps; \ + apk del --no-network .build-deps # set recommended PHP.ini settings # see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache @@ -105,7 +105,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 25.0.6 +ENV NEXTCLOUD_VERSION 25.0.7 RUN set -ex; \ apk add --no-cache --virtual .fetch-deps \ @@ -113,10 +113,8 @@ RUN set -ex; \ gnupg \ ; \ \ - 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"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ @@ -128,7 +126,7 @@ RUN set -ex; \ mkdir -p /usr/src/nextcloud/data; \ mkdir -p /usr/src/nextcloud/custom_apps; \ chmod +x /usr/src/nextcloud/occ; \ - apk del .fetch-deps + apk del --no-network .fetch-deps COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ diff --git a/25/fpm/Dockerfile b/25/fpm/Dockerfile index e5f121c4..94ad0813 100644 --- a/25/fpm/Dockerfile +++ b/25/fpm/Dockerfile @@ -117,7 +117,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 25.0.6 +ENV NEXTCLOUD_VERSION 25.0.7 RUN set -ex; \ fetchDeps=" \ @@ -127,10 +127,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-${NEXTCLOUD_VERSION}.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.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/26/apache/Dockerfile b/26/apache/Dockerfile index 4a274cc7..9f70fa7c 100644 --- a/26/apache/Dockerfile +++ b/26/apache/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:8.1-apache-bullseye +FROM php:8.2-apache-bullseye # entrypoint.sh and cron.sh dependencies RUN set -ex; \ @@ -130,7 +130,7 @@ RUN a2enmod headers rewrite remoteip ;\ } > /etc/apache2/conf-available/remoteip.conf;\ a2enconf remoteip -ENV NEXTCLOUD_VERSION 26.0.1 +ENV NEXTCLOUD_VERSION 26.0.2 RUN set -ex; \ fetchDeps=" \ @@ -140,10 +140,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-${NEXTCLOUD_VERSION}.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.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/26/fpm-alpine/Dockerfile b/26/fpm-alpine/Dockerfile index 39a8028a..0ea82474 100644 --- a/26/fpm-alpine/Dockerfile +++ b/26/fpm-alpine/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-alpine.template -FROM php:8.1-fpm-alpine3.17 +FROM php:8.2-fpm-alpine3.18 # entrypoint.sh and cron.sh dependencies RUN set -ex; \ @@ -73,8 +73,8 @@ RUN set -ex; \ | 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 + apk add --no-network --virtual .nextcloud-phpext-rundeps $runDeps; \ + apk del --no-network .build-deps # set recommended PHP.ini settings # see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache @@ -106,7 +106,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 26.0.1 +ENV NEXTCLOUD_VERSION 26.0.2 RUN set -ex; \ apk add --no-cache --virtual .fetch-deps \ @@ -114,10 +114,8 @@ RUN set -ex; \ gnupg \ ; \ \ - 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"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ @@ -129,7 +127,7 @@ RUN set -ex; \ mkdir -p /usr/src/nextcloud/data; \ mkdir -p /usr/src/nextcloud/custom_apps; \ chmod +x /usr/src/nextcloud/occ; \ - apk del .fetch-deps + apk del --no-network .fetch-deps COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ diff --git a/26/fpm/Dockerfile b/26/fpm/Dockerfile index d555b277..ff51826e 100644 --- a/26/fpm/Dockerfile +++ b/26/fpm/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:8.1-fpm-bullseye +FROM php:8.2-fpm-bullseye # entrypoint.sh and cron.sh dependencies RUN set -ex; \ @@ -118,7 +118,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 26.0.1 +ENV NEXTCLOUD_VERSION 26.0.2 RUN set -ex; \ fetchDeps=" \ @@ -128,10 +128,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-${NEXTCLOUD_VERSION}.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.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/24/apache/Dockerfile b/27/apache/Dockerfile similarity index 93% rename from 24/apache/Dockerfile rename to 27/apache/Dockerfile index 7f52f209..62bc6e0a 100644 --- a/24/apache/Dockerfile +++ b/27/apache/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:8.0-apache-bullseye +FROM php:8.2-apache-bullseye # entrypoint.sh and cron.sh dependencies RUN set -ex; \ @@ -60,6 +60,7 @@ RUN set -ex; \ pcntl \ pdo_mysql \ pdo_pgsql \ + sysvsem \ zip \ ; \ \ @@ -129,7 +130,7 @@ RUN a2enmod headers rewrite remoteip ;\ } > /etc/apache2/conf-available/remoteip.conf;\ a2enconf remoteip -ENV NEXTCLOUD_VERSION 24.0.12 +ENV NEXTCLOUD_VERSION 27.0.0 RUN set -ex; \ fetchDeps=" \ @@ -139,10 +140,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-${NEXTCLOUD_VERSION}.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.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/24/apache/config/apache-pretty-urls.config.php b/27/apache/config/apache-pretty-urls.config.php similarity index 100% rename from 24/apache/config/apache-pretty-urls.config.php rename to 27/apache/config/apache-pretty-urls.config.php diff --git a/24/apache/config/apcu.config.php b/27/apache/config/apcu.config.php similarity index 100% rename from 24/apache/config/apcu.config.php rename to 27/apache/config/apcu.config.php diff --git a/24/apache/config/apps.config.php b/27/apache/config/apps.config.php similarity index 100% rename from 24/apache/config/apps.config.php rename to 27/apache/config/apps.config.php diff --git a/24/apache/config/autoconfig.php b/27/apache/config/autoconfig.php similarity index 100% rename from 24/apache/config/autoconfig.php rename to 27/apache/config/autoconfig.php diff --git a/24/apache/config/redis.config.php b/27/apache/config/redis.config.php similarity index 100% rename from 24/apache/config/redis.config.php rename to 27/apache/config/redis.config.php diff --git a/24/apache/config/reverse-proxy.config.php b/27/apache/config/reverse-proxy.config.php similarity index 100% rename from 24/apache/config/reverse-proxy.config.php rename to 27/apache/config/reverse-proxy.config.php diff --git a/24/apache/config/s3.config.php b/27/apache/config/s3.config.php similarity index 100% rename from 24/apache/config/s3.config.php rename to 27/apache/config/s3.config.php diff --git a/24/apache/config/smtp.config.php b/27/apache/config/smtp.config.php similarity index 100% rename from 24/apache/config/smtp.config.php rename to 27/apache/config/smtp.config.php diff --git a/24/apache/config/swift.config.php b/27/apache/config/swift.config.php similarity index 100% rename from 24/apache/config/swift.config.php rename to 27/apache/config/swift.config.php diff --git a/24/apache/cron.sh b/27/apache/cron.sh similarity index 100% rename from 24/apache/cron.sh rename to 27/apache/cron.sh diff --git a/24/apache/entrypoint.sh b/27/apache/entrypoint.sh similarity index 100% rename from 24/apache/entrypoint.sh rename to 27/apache/entrypoint.sh diff --git a/24/apache/upgrade.exclude b/27/apache/upgrade.exclude similarity index 100% rename from 24/apache/upgrade.exclude rename to 27/apache/upgrade.exclude diff --git a/24/fpm-alpine/Dockerfile b/27/fpm-alpine/Dockerfile similarity index 89% rename from 24/fpm-alpine/Dockerfile rename to 27/fpm-alpine/Dockerfile index e70eb7fc..a137cc2a 100644 --- a/24/fpm-alpine/Dockerfile +++ b/27/fpm-alpine/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-alpine.template -FROM php:8.0-fpm-alpine3.16 +FROM php:8.2-fpm-alpine3.18 # entrypoint.sh and cron.sh dependencies RUN set -ex; \ @@ -49,6 +49,7 @@ RUN set -ex; \ pcntl \ pdo_mysql \ pdo_pgsql \ + sysvsem \ zip \ ; \ \ @@ -72,8 +73,8 @@ RUN set -ex; \ | 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 + apk add --no-network --virtual .nextcloud-phpext-rundeps $runDeps; \ + apk del --no-network .build-deps # set recommended PHP.ini settings # see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache @@ -105,7 +106,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 24.0.12 +ENV NEXTCLOUD_VERSION 27.0.0 RUN set -ex; \ apk add --no-cache --virtual .fetch-deps \ @@ -113,10 +114,8 @@ RUN set -ex; \ gnupg \ ; \ \ - 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"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2.asc"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ @@ -128,7 +127,7 @@ RUN set -ex; \ mkdir -p /usr/src/nextcloud/data; \ mkdir -p /usr/src/nextcloud/custom_apps; \ chmod +x /usr/src/nextcloud/occ; \ - apk del .fetch-deps + apk del --no-network .fetch-deps COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ diff --git a/24/fpm-alpine/config/apcu.config.php b/27/fpm-alpine/config/apcu.config.php similarity index 100% rename from 24/fpm-alpine/config/apcu.config.php rename to 27/fpm-alpine/config/apcu.config.php diff --git a/24/fpm-alpine/config/apps.config.php b/27/fpm-alpine/config/apps.config.php similarity index 100% rename from 24/fpm-alpine/config/apps.config.php rename to 27/fpm-alpine/config/apps.config.php diff --git a/24/fpm-alpine/config/autoconfig.php b/27/fpm-alpine/config/autoconfig.php similarity index 100% rename from 24/fpm-alpine/config/autoconfig.php rename to 27/fpm-alpine/config/autoconfig.php diff --git a/24/fpm-alpine/config/redis.config.php b/27/fpm-alpine/config/redis.config.php similarity index 100% rename from 24/fpm-alpine/config/redis.config.php rename to 27/fpm-alpine/config/redis.config.php diff --git a/24/fpm-alpine/config/reverse-proxy.config.php b/27/fpm-alpine/config/reverse-proxy.config.php similarity index 100% rename from 24/fpm-alpine/config/reverse-proxy.config.php rename to 27/fpm-alpine/config/reverse-proxy.config.php diff --git a/24/fpm-alpine/config/s3.config.php b/27/fpm-alpine/config/s3.config.php similarity index 100% rename from 24/fpm-alpine/config/s3.config.php rename to 27/fpm-alpine/config/s3.config.php diff --git a/24/fpm-alpine/config/smtp.config.php b/27/fpm-alpine/config/smtp.config.php similarity index 100% rename from 24/fpm-alpine/config/smtp.config.php rename to 27/fpm-alpine/config/smtp.config.php diff --git a/24/fpm-alpine/config/swift.config.php b/27/fpm-alpine/config/swift.config.php similarity index 100% rename from 24/fpm-alpine/config/swift.config.php rename to 27/fpm-alpine/config/swift.config.php diff --git a/24/fpm-alpine/cron.sh b/27/fpm-alpine/cron.sh similarity index 100% rename from 24/fpm-alpine/cron.sh rename to 27/fpm-alpine/cron.sh diff --git a/24/fpm-alpine/entrypoint.sh b/27/fpm-alpine/entrypoint.sh similarity index 100% rename from 24/fpm-alpine/entrypoint.sh rename to 27/fpm-alpine/entrypoint.sh diff --git a/24/fpm-alpine/upgrade.exclude b/27/fpm-alpine/upgrade.exclude similarity index 100% rename from 24/fpm-alpine/upgrade.exclude rename to 27/fpm-alpine/upgrade.exclude diff --git a/24/fpm/Dockerfile b/27/fpm/Dockerfile similarity index 93% rename from 24/fpm/Dockerfile rename to 27/fpm/Dockerfile index c39fe7af..754db7af 100644 --- a/24/fpm/Dockerfile +++ b/27/fpm/Dockerfile @@ -1,5 +1,5 @@ # DO NOT EDIT: created by update.sh from Dockerfile-debian.template -FROM php:8.0-fpm-bullseye +FROM php:8.2-fpm-bullseye # entrypoint.sh and cron.sh dependencies RUN set -ex; \ @@ -58,6 +58,7 @@ RUN set -ex; \ pcntl \ pdo_mysql \ pdo_pgsql \ + sysvsem \ zip \ ; \ \ @@ -117,7 +118,7 @@ RUN { \ VOLUME /var/www/html -ENV NEXTCLOUD_VERSION 24.0.12 +ENV NEXTCLOUD_VERSION 27.0.0 RUN set -ex; \ fetchDeps=" \ @@ -127,10 +128,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-${NEXTCLOUD_VERSION}.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc \ - "https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.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/24/fpm/config/apcu.config.php b/27/fpm/config/apcu.config.php similarity index 100% rename from 24/fpm/config/apcu.config.php rename to 27/fpm/config/apcu.config.php diff --git a/24/fpm/config/apps.config.php b/27/fpm/config/apps.config.php similarity index 100% rename from 24/fpm/config/apps.config.php rename to 27/fpm/config/apps.config.php diff --git a/24/fpm/config/autoconfig.php b/27/fpm/config/autoconfig.php similarity index 100% rename from 24/fpm/config/autoconfig.php rename to 27/fpm/config/autoconfig.php diff --git a/24/fpm/config/redis.config.php b/27/fpm/config/redis.config.php similarity index 100% rename from 24/fpm/config/redis.config.php rename to 27/fpm/config/redis.config.php diff --git a/24/fpm/config/reverse-proxy.config.php b/27/fpm/config/reverse-proxy.config.php similarity index 100% rename from 24/fpm/config/reverse-proxy.config.php rename to 27/fpm/config/reverse-proxy.config.php diff --git a/24/fpm/config/s3.config.php b/27/fpm/config/s3.config.php similarity index 100% rename from 24/fpm/config/s3.config.php rename to 27/fpm/config/s3.config.php diff --git a/24/fpm/config/smtp.config.php b/27/fpm/config/smtp.config.php similarity index 100% rename from 24/fpm/config/smtp.config.php rename to 27/fpm/config/smtp.config.php diff --git a/24/fpm/config/swift.config.php b/27/fpm/config/swift.config.php similarity index 100% rename from 24/fpm/config/swift.config.php rename to 27/fpm/config/swift.config.php diff --git a/24/fpm/cron.sh b/27/fpm/cron.sh similarity index 100% rename from 24/fpm/cron.sh rename to 27/fpm/cron.sh diff --git a/24/fpm/entrypoint.sh b/27/fpm/entrypoint.sh similarity index 100% rename from 24/fpm/entrypoint.sh rename to 27/fpm/entrypoint.sh diff --git a/24/fpm/upgrade.exclude b/27/fpm/upgrade.exclude similarity index 100% rename from 24/fpm/upgrade.exclude rename to 27/fpm/upgrade.exclude diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 59b73bcc..3d69ca5d 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -72,8 +72,8 @@ RUN set -ex; \ | 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 + apk add --no-network --virtual .nextcloud-phpext-rundeps $runDeps; \ + apk del --no-network .build-deps # set recommended PHP.ini settings # see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache @@ -113,10 +113,8 @@ RUN set -ex; \ gnupg \ ; \ \ - curl -fsSL -o nextcloud.tar.bz2 \ - "%%BASE_DOWNLOAD_URL%%/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc \ - "%%BASE_DOWNLOAD_URL%%/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "%%DOWNLOAD_URL%%"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "%%DOWNLOAD_URL_ASC%%"; \ export GNUPGHOME="$(mktemp -d)"; \ # gpg key from https://nextcloud.com/nextcloud.asc gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ @@ -128,7 +126,7 @@ RUN set -ex; \ mkdir -p /usr/src/nextcloud/data; \ mkdir -p /usr/src/nextcloud/custom_apps; \ chmod +x /usr/src/nextcloud/occ; \ - apk del .fetch-deps + apk del --no-network .fetch-deps COPY *.sh upgrade.exclude / COPY config/* /usr/src/nextcloud/config/ diff --git a/Dockerfile-debian.template b/Dockerfile-debian.template index d3fb81ee..4a9d975f 100644 --- a/Dockerfile-debian.template +++ b/Dockerfile-debian.template @@ -1,4 +1,4 @@ -FROM php:%%PHP_VERSION%%-%%VARIANT%%-bullseye +FROM php:%%PHP_VERSION%%-%%VARIANT%%-%%DEBIAN_VERSION%% # entrypoint.sh and cron.sh dependencies RUN set -ex; \ @@ -127,10 +127,8 @@ RUN set -ex; \ apt-get update; \ apt-get install -y --no-install-recommends $fetchDeps; \ \ - curl -fsSL -o nextcloud.tar.bz2 \ - "%%BASE_DOWNLOAD_URL%%/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \ - curl -fsSL -o nextcloud.tar.bz2.asc \ - "%%BASE_DOWNLOAD_URL%%/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \ + curl -fsSL -o nextcloud.tar.bz2 "%%DOWNLOAD_URL%%"; \ + curl -fsSL -o nextcloud.tar.bz2.asc "%%DOWNLOAD_URL_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/README.md b/README.md index bb046547..6e8dcb5e 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ A safe home for all your data. Access & share your files, calendars, contacts, m ![logo](https://cdn.rawgit.com/nextcloud/docker/80dd587d847b184ba95d7187a2a7a56ae4cbbb7b/logo.svg) -This Docker micro-service image is developed and maintained by the Nextcloud community. Nextcloud GmbH does not offer support for this Docker image. When you are looking to get professional support, you can become an [enterprise](https://nextcloud.com/enterprise/) customer or use [AIO](https://github.com/nextcloud/all-in-one#nextcloud-all-in-one). +This Docker micro-service image is developed and maintained by the Nextcloud community. Nextcloud GmbH does not offer support for this Docker image. When you are looking to get professional support, you can become an [enterprise](https://nextcloud.com/enterprise/) customer or use [Nextcloud All-in-One docker image](https://github.com/nextcloud/all-in-one#nextcloud-all-in-one) - as the name suggests, Nextcloud All-in-One provides easy deployment and maintenance of Nextcloud Hub included in this one Nextcloud instance. # How to use this image This image is designed to be used in a micro-service environment. There are two versions of the image you can choose from. @@ -46,7 +46,7 @@ Now you can access Nextcloud at http://localhost:8080/ from your host system. ## Using the fpm image -To use the fpm image, you need an additional web server, such as [nginx](https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html), that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases, you might want use another container or your host as proxy. If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network ...` or a `docker-compose` file). In both cases you don't want to map the fpm port to your host. +To use the fpm image, you need an additional web server, such as [nginx](https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html), that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases, you might want to use another container or your host as proxy. If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network ...` or a `docker-compose` file). In both cases you don't want to map the fpm port to your host. ```console $ docker run -d nextcloud:fpm diff --git a/generate-stackbrew-library.sh b/generate-stackbrew-library.sh index 3a6307b4..00ec97ee 100755 --- a/generate-stackbrew-library.sh +++ b/generate-stackbrew-library.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -Eeuo pipefail -stable_channel='25.0.6' +stable_channel='25.0.7' self="$(basename "$BASH_SOURCE")" cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" diff --git a/latest.txt b/latest.txt index 72a5c3d3..008c39a4 100644 --- a/latest.txt +++ b/latest.txt @@ -1 +1 @@ -26.0.1 +27.0.0 diff --git a/update.sh b/update.sh index 608f263e..8282d826 100755 --- a/update.sh +++ b/update.sh @@ -2,14 +2,17 @@ set -eo pipefail declare -A alpine_version=( - [24]='3.16' [25]='3.16' - [default]='3.17' + [default]='3.18' +) + +declare -A debian_version=( + [default]='bullseye' ) declare -A php_version=( - [24]='8.0' - [default]='8.1' + [25]='8.1' + [default]='8.2' ) declare -A cmd=( @@ -83,7 +86,7 @@ variants=( fpm-alpine ) -min_version='24' +min_version='25' # version_greater_or_equal A B returns whether A >= B function version_greater_or_equal() { @@ -93,8 +96,11 @@ function version_greater_or_equal() { function create_variant() { dir="$1/$variant" alpineVersion=${alpine_version[$version]-${alpine_version[default]}} + debianVersion=${debian_version[$version]-${debian_version[default]}} phpVersion=${php_version[$version]-${php_version[default]}} crontabInt=${crontab_int[$version]-${crontab_int[default]}} + url="https://download.nextcloud.com/server/releases/nextcloud-$fullversion.tar.bz2" + ascUrl="https://download.nextcloud.com/server/releases/nextcloud-$fullversion.tar.bz2.asc" # Create the version+variant directory with a Dockerfile. mkdir -p "$dir" @@ -105,13 +111,23 @@ function create_variant() { echo "updating $fullversion [$1] $variant" + # Apply version+variant-specific patches + case "$version" in + 25) + # Nextcloud 26+ recommends sysvsem + sed -ri -e '/sysvsem/d' "$dir/Dockerfile" + ;; + esac + # Replace the variables. sed -ri -e ' s/%%ALPINE_VERSION%%/'"$alpineVersion"'/g; + s/%%DEBIAN_VERSION%%/'"$debianVersion"'/g; s/%%PHP_VERSION%%/'"$phpVersion"'/g; s/%%VARIANT%%/'"$variant"'/g; s/%%VERSION%%/'"$fullversion"'/g; - s/%%BASE_DOWNLOAD_URL%%/'"$2"'/g; + s/%%DOWNLOAD_URL%%/'"$(sed -e 's/[\/&]/\\&/g' <<< "$url")"'/g; + s/%%DOWNLOAD_URL_ASC%%/'"$(sed -e 's/[\/&]/\\&/g' <<< "$ascUrl")"'/g; s/%%CMD%%/'"${cmd[$variant]}"'/g; s|%%VARIANT_EXTRAS%%|'"${extras[$variant]}"'|g; s/%%APCU_VERSION%%/'"${pecl_versions[APCu]}"'/g; @@ -121,15 +137,6 @@ function create_variant() { s/%%CRONTAB_INT%%/'"$crontabInt"'/g; ' "$dir/Dockerfile" - # Nextcloud 26+ recommends sysvsem - case "$version" in - 24|25 ) - sed -ri -e ' - /sysvsem/d - ' "$dir/Dockerfile" - ;; - esac - # Copy the shell scripts for name in entrypoint cron; do cp "docker-$name.sh" "$dir/$name.sh" @@ -145,6 +152,16 @@ function create_variant() { if [ "$variant" != "apache" ]; then rm "$dir/config/apache-pretty-urls.config.php" fi + + # Add variant to versions.json + [ "${base[$variant]}" == "alpine" ] && baseVersion="$alpineVersion" || baseVersion="$debianVersion" + versionVariantsJson="$(jq -e \ + --arg version "$version" --arg variant "$variant" --arg base "${base[$variant]}" --arg baseVersion "$baseVersion" --arg phpVersion "$phpVersion" \ + '.[$version].variants[$variant] = {"variant": $variant, "base": $base, "baseVersion": $baseVersion, "phpVersion": $phpVersion}' versions.json)" + versionJson="$(jq -e \ + --arg version "$version" --arg fullversion "$fullversion" --arg url "$url" --arg ascUrl "$ascUrl" --argjson variants "$versionVariantsJson" \ + '.[$version] = {"branch": $version, "version": $fullversion, "url": $url, "ascUrl": $ascUrl, "variants": $variants[$version].variants}' versions.json)" + printf '%s\n' "$versionJson" > versions.json } curl -fsSL 'https://download.nextcloud.com/server/releases/' |tac|tac| \ @@ -155,19 +172,20 @@ curl -fsSL 'https://download.nextcloud.com/server/releases/' |tac|tac| \ find . -maxdepth 1 -type d -regextype sed -regex '\./[[:digit:]]\+\.[[:digit:]]\+\(-rc\|-beta\|-alpha\)\?' -exec rm -r '{}' \; +printf '%s' "{}" > versions.json + fullversions=( $( curl -fsSL 'https://download.nextcloud.com/server/releases/' |tac|tac| \ grep -oE 'nextcloud-[[:digit:]]+(\.[[:digit:]]+){2}' | \ grep -oE '[[:digit:]]+(\.[[:digit:]]+){2}' | \ sort -urV ) ) versions=( $( printf '%s\n' "${fullversions[@]}" | cut -d. -f1 | sort -urV ) ) + for version in "${versions[@]}"; do fullversion="$( printf '%s\n' "${fullversions[@]}" | grep -E "^$version" | head -1 )" if version_greater_or_equal "$version" "$min_version"; then - for variant in "${variants[@]}"; do - - create_variant "$version" "https:\/\/download.nextcloud.com\/server\/releases" + create_variant "$version" done fi done diff --git a/versions.json b/versions.json new file mode 100644 index 00000000..5eb1b9a4 --- /dev/null +++ b/versions.json @@ -0,0 +1,80 @@ +{ + "27": { + "branch": "27", + "version": "27.0.0", + "url": "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2", + "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2.asc", + "variants": { + "apache": { + "variant": "apache", + "base": "debian", + "baseVersion": "bullseye", + "phpVersion": "8.2" + }, + "fpm": { + "variant": "fpm", + "base": "debian", + "baseVersion": "bullseye", + "phpVersion": "8.2" + }, + "fpm-alpine": { + "variant": "fpm-alpine", + "base": "alpine", + "baseVersion": "3.18", + "phpVersion": "8.2" + } + } + }, + "26": { + "branch": "26", + "version": "26.0.2", + "url": "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2", + "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2.asc", + "variants": { + "apache": { + "variant": "apache", + "base": "debian", + "baseVersion": "bullseye", + "phpVersion": "8.2" + }, + "fpm": { + "variant": "fpm", + "base": "debian", + "baseVersion": "bullseye", + "phpVersion": "8.2" + }, + "fpm-alpine": { + "variant": "fpm-alpine", + "base": "alpine", + "baseVersion": "3.18", + "phpVersion": "8.2" + } + } + }, + "25": { + "branch": "25", + "version": "25.0.7", + "url": "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2", + "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2.asc", + "variants": { + "apache": { + "variant": "apache", + "base": "debian", + "baseVersion": "bullseye", + "phpVersion": "8.1" + }, + "fpm": { + "variant": "fpm", + "base": "debian", + "baseVersion": "bullseye", + "phpVersion": "8.1" + }, + "fpm-alpine": { + "variant": "fpm-alpine", + "base": "alpine", + "baseVersion": "3.16", + "phpVersion": "8.1" + } + } + } +}