Compare commits

...

26 Commits

Author SHA1 Message Date
J0WI
7e1fba34d7
Alpine 3.23 (#2507)
* Run earlier

Signed-off-by: J0WI <J0WI@users.noreply.github.com>

* Run update.sh

Signed-off-by: J0WI <J0WI@users.noreply.github.com>

* Alpine 3.23

Signed-off-by: J0WI <J0WI@users.noreply.github.com>

---------

Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-12-11 21:50:11 +00:00
GitHub Workflow
f2ab521657 Runs update.sh 2025-12-08 00:40:35 +00:00
GitHub Workflow
168c570a07 Runs update.sh 2025-11-27 00:38:14 +00:00
J0WI
3323992cb0
Fix pecl argument order (#2503)
* Fix pecl argument order

* Add liblz4-dev

Signed-off-by: J0WI <J0WI@users.noreply.github.com>

---------

Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-11-25 23:33:59 +00:00
GitHub Workflow
722ea77ac0 Runs update.sh 2025-11-25 21:53:20 +00:00
Jonas Zürcher
8b4598357c
Switch to the repository on github to speedup download and build time. (#2489)
Signed-off-by: Jonas Zürcher <mail@jonaszuercher.ch>
2025-11-25 21:53:06 +00:00
J0WI
dea057bebe
Remove EOL 30 files (#2501)
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-11-21 00:19:00 +00:00
J0WI
4f4c97fcc5
Bump stable to 31.0.11
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-11-21 00:17:59 +00:00
GitHub Workflow
32ff000966 Runs update.sh 2025-11-20 23:58:13 +00:00
J0WI
e836e09e2f
Remove EOL 30 (#2500)
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-11-20 23:58:01 +00:00
Josh
264d04f2a2
feat: Add Table of Contents to README
Added a Table of Contents section to improve navigation.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-11-07 16:44:12 -05:00
GitHub Workflow
f158223d14 Runs update.sh 2025-11-07 00:38:19 +00:00
GitHub Workflow
50bf6dc8f9 Runs update.sh 2025-10-23 23:59:36 +00:00
J0WI
50826df6b5
Bump stable to 31.0.10
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-10-23 23:59:20 +00:00
GitHub Workflow
646fc1b0e2 Runs update.sh 2025-10-14 00:35:34 +00:00
GitHub Workflow
1f87830fd6 Runs update.sh 2025-09-28 00:39:46 +00:00
GitHub Workflow
f5b7b40808 Runs update.sh 2025-09-26 01:22:24 +00:00
Josh
09beb3754b
chore: drop unused libmcrypt-dev from Dockerfile templates (#2473)
* chore: drop libmcrypt-dev from Alpine Dockerfile template

Removed 'libmcrypt-dev' from the list of dependencies.

Was deprecated in PHP 7.1.0 and removed in PHP 7.2.0.
Has not been used by Nextcloud for awhile.
And we're not installing mcrypt as a PECL installation so it's not used at all.


Signed-off-by: Josh <josh.t.richards@gmail.com>

* chore: drop libmcrypt-dev from Debian Dockerfile template

Removed libmcrypt-dev from the list of dependencies.

Signed-off-by: Josh <josh.t.richards@gmail.com>

---------

Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-09-26 01:22:11 +00:00
GitHub Workflow
8043c5ed93 Runs update.sh 2025-09-26 00:34:58 +00:00
J0WI
c8211b8672
Bump stable to 31.0.9
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-09-14 15:40:17 +00:00
GitHub Workflow
2ac1f1346c Runs update.sh 2025-09-12 00:34:49 +00:00
GitHub Workflow
4cf9a20fdf Runs update.sh 2025-08-28 20:38:48 +00:00
mwester117
1907ded05a
Removed mimetype application/wasm from nginx.conf files because they are included in mime.types of nginx:alpine-slim image (#2458)
Signed-off-by: Marco Wester <42421851+mwester117@users.noreply.github.com>
Co-authored-by: Marco Wester <git@mwester.de>
2025-08-28 20:38:38 +00:00
J0WI
943e55d314
Debian Trixie (#2454)
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-08-14 19:55:08 +00:00
GitHub Workflow
9a78a3478e Runs update.sh 2025-08-14 18:54:14 +00:00
GitHub Workflow
6e4ccffb9a Runs update.sh 2025-08-06 00:42:16 +00:00
55 changed files with 172 additions and 142 deletions

View File

@ -14,7 +14,6 @@ http {
default_type application/octet-stream;
types {
text/javascript mjs;
application/wasm wasm;
}
log_format main '$remote_addr - $remote_user [$time_local] "$request" '

View File

@ -14,7 +14,6 @@ http {
default_type application/octet-stream;
types {
text/javascript mjs;
application/wasm wasm;
}
log_format main '$remote_addr - $remote_user [$time_local] "$request" '

View File

@ -14,7 +14,6 @@ http {
default_type application/octet-stream;
types {
text/javascript mjs;
application/wasm wasm;
}
log_format main '$remote_addr - $remote_user [$time_local] "$request" '

View File

@ -14,7 +14,6 @@ http {
default_type application/octet-stream;
types {
text/javascript mjs;
application/wasm wasm;
}
log_format main '$remote_addr - $remote_user [$time_local] "$request" '

View File

@ -5,7 +5,7 @@ on:
branches:
- master
schedule:
- cron: '15 0 * * *'
- cron: '15 18 * * *'
workflow_dispatch:
jobs:

View File

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.3-apache-bookworm
FROM php:8.3-apache-trixie
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -9,10 +9,10 @@ RUN set -ex; \
busybox-static \
bzip2 \
libldap-common \
libmagickcore-6.q16-6-extra \
libmagickcore-7.q16-10-extra \
rsync \
; \
rm -rf /var/lib/apt/lists/*; \
apt-get dist-clean; \
\
mkdir -p /var/spool/cron/crontabs; \
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
@ -35,8 +35,8 @@ RUN set -ex; \
libicu-dev \
libjpeg-dev \
libldap2-dev \
liblz4-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libpq-dev \
@ -57,7 +57,6 @@ RUN set -ex; \
gmp \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
@ -66,13 +65,13 @@ RUN set -ex; \
; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.25; \
pecl install APCu-5.1.28; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.8.0; \
pecl install memcached-3.3.0 \
--configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.2.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
pecl install imagick-3.8.1; \
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
memcached-3.4.0; \
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
redis-6.3.0; \
\
docker-php-ext-enable \
apcu \
@ -89,13 +88,14 @@ RUN set -ex; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| xargs -rt dpkg-query --search \
# https://manpages.debian.org/trixie/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
| awk 'sub(":$", "", $1) { print $1 }' \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
@ -150,7 +150,7 @@ RUN { \
} > /etc/apache2/conf-available/apache-limits.conf; \
a2enconf apache-limits
ENV NEXTCLOUD_VERSION 31.0.7
ENV NEXTCLOUD_VERSION 31.0.12
RUN set -ex; \
fetchDeps=" \
@ -160,8 +160,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.7.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
@ -175,7 +175,7 @@ RUN set -ex; \
chmod +x /usr/src/nextcloud/occ; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/

View File

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
FROM php:8.3-fpm-alpine3.22
FROM php:8.3-fpm-alpine3.23
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -32,7 +32,6 @@ RUN set -ex; \
imagemagick-dev \
libevent-dev \
libjpeg-turbo-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libwebp-dev \
@ -54,7 +53,6 @@ RUN set -ex; \
gmp \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
@ -63,13 +61,13 @@ RUN set -ex; \
; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.25; \
pecl install APCu-5.1.28; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.8.0; \
pecl install memcached-3.3.0 \
--configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.2.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
pecl install imagick-3.8.1; \
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
memcached-3.4.0; \
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
redis-6.3.0; \
\
docker-php-ext-enable \
apcu \
@ -130,7 +128,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 31.0.7
ENV NEXTCLOUD_VERSION 31.0.12
RUN set -ex; \
apk add --no-cache --virtual .fetch-deps \
@ -138,8 +136,8 @@ RUN set -ex; \
gnupg \
; \
\
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View File

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.3-fpm-bookworm
FROM php:8.3-fpm-trixie
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -9,10 +9,10 @@ RUN set -ex; \
busybox-static \
bzip2 \
libldap-common \
libmagickcore-6.q16-6-extra \
libmagickcore-7.q16-10-extra \
rsync \
; \
rm -rf /var/lib/apt/lists/*; \
apt-get dist-clean; \
\
mkdir -p /var/spool/cron/crontabs; \
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
@ -35,8 +35,8 @@ RUN set -ex; \
libicu-dev \
libjpeg-dev \
libldap2-dev \
liblz4-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libpq-dev \
@ -57,7 +57,6 @@ RUN set -ex; \
gmp \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
@ -66,13 +65,13 @@ RUN set -ex; \
; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.25; \
pecl install APCu-5.1.28; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.8.0; \
pecl install memcached-3.3.0 \
--configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.2.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
pecl install imagick-3.8.1; \
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
memcached-3.4.0; \
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
redis-6.3.0; \
\
docker-php-ext-enable \
apcu \
@ -89,13 +88,14 @@ RUN set -ex; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| xargs -rt dpkg-query --search \
# https://manpages.debian.org/trixie/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
| awk 'sub(":$", "", $1) { print $1 }' \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
@ -135,7 +135,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 31.0.7
ENV NEXTCLOUD_VERSION 31.0.12
RUN set -ex; \
fetchDeps=" \
@ -145,8 +145,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.7.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
@ -160,7 +160,7 @@ RUN set -ex; \
chmod +x /usr/src/nextcloud/occ; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/

View File

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.3-apache-bookworm
FROM php:8.3-apache-trixie
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -9,10 +9,10 @@ RUN set -ex; \
busybox-static \
bzip2 \
libldap-common \
libmagickcore-6.q16-6-extra \
libmagickcore-7.q16-10-extra \
rsync \
; \
rm -rf /var/lib/apt/lists/*; \
apt-get dist-clean; \
\
mkdir -p /var/spool/cron/crontabs; \
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
@ -35,8 +35,8 @@ RUN set -ex; \
libicu-dev \
libjpeg-dev \
libldap2-dev \
liblz4-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libpq-dev \
@ -57,7 +57,6 @@ RUN set -ex; \
gmp \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
@ -66,13 +65,13 @@ RUN set -ex; \
; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.25; \
pecl install APCu-5.1.28; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.8.0; \
pecl install memcached-3.3.0 \
--configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.2.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
pecl install imagick-3.8.1; \
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
memcached-3.4.0; \
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
redis-6.3.0; \
\
docker-php-ext-enable \
apcu \
@ -89,13 +88,14 @@ RUN set -ex; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| xargs -rt dpkg-query --search \
# https://manpages.debian.org/trixie/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
| awk 'sub(":$", "", $1) { print $1 }' \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
@ -150,7 +150,7 @@ RUN { \
} > /etc/apache2/conf-available/apache-limits.conf; \
a2enconf apache-limits
ENV NEXTCLOUD_VERSION 30.0.13
ENV NEXTCLOUD_VERSION 32.0.3
RUN set -ex; \
fetchDeps=" \
@ -160,8 +160,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.13.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.13.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://github.com/nextcloud-releases/server/releases/download/v32.0.3/nextcloud-32.0.3.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://github.com/nextcloud-releases/server/releases/download/v32.0.3/nextcloud-32.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; \
@ -175,7 +175,7 @@ RUN set -ex; \
chmod +x /usr/src/nextcloud/occ; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/

View File

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
FROM php:8.3-fpm-alpine3.22
FROM php:8.3-fpm-alpine3.23
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -32,7 +32,6 @@ RUN set -ex; \
imagemagick-dev \
libevent-dev \
libjpeg-turbo-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libwebp-dev \
@ -54,7 +53,6 @@ RUN set -ex; \
gmp \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
@ -63,13 +61,13 @@ RUN set -ex; \
; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.25; \
pecl install APCu-5.1.28; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.8.0; \
pecl install memcached-3.3.0 \
--configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.2.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
pecl install imagick-3.8.1; \
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
memcached-3.4.0; \
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
redis-6.3.0; \
\
docker-php-ext-enable \
apcu \
@ -130,7 +128,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 30.0.13
ENV NEXTCLOUD_VERSION 32.0.3
RUN set -ex; \
apk add --no-cache --virtual .fetch-deps \
@ -138,8 +136,8 @@ RUN set -ex; \
gnupg \
; \
\
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.13.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.13.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://github.com/nextcloud-releases/server/releases/download/v32.0.3/nextcloud-32.0.3.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://github.com/nextcloud-releases/server/releases/download/v32.0.3/nextcloud-32.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; \

View File

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.3-fpm-bookworm
FROM php:8.3-fpm-trixie
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -9,10 +9,10 @@ RUN set -ex; \
busybox-static \
bzip2 \
libldap-common \
libmagickcore-6.q16-6-extra \
libmagickcore-7.q16-10-extra \
rsync \
; \
rm -rf /var/lib/apt/lists/*; \
apt-get dist-clean; \
\
mkdir -p /var/spool/cron/crontabs; \
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
@ -35,8 +35,8 @@ RUN set -ex; \
libicu-dev \
libjpeg-dev \
libldap2-dev \
liblz4-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libpq-dev \
@ -57,7 +57,6 @@ RUN set -ex; \
gmp \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
@ -66,13 +65,13 @@ RUN set -ex; \
; \
\
# pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.25; \
pecl install APCu-5.1.28; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.8.0; \
pecl install memcached-3.3.0 \
--configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.2.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
pecl install imagick-3.8.1; \
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
memcached-3.4.0; \
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
redis-6.3.0; \
\
docker-php-ext-enable \
apcu \
@ -89,13 +88,14 @@ RUN set -ex; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| xargs -rt dpkg-query --search \
# https://manpages.debian.org/trixie/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
| awk 'sub(":$", "", $1) { print $1 }' \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
@ -135,7 +135,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 30.0.13
ENV NEXTCLOUD_VERSION 32.0.3
RUN set -ex; \
fetchDeps=" \
@ -145,8 +145,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.13.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.13.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://github.com/nextcloud-releases/server/releases/download/v32.0.3/nextcloud-32.0.3.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://github.com/nextcloud-releases/server/releases/download/v32.0.3/nextcloud-32.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; \
@ -160,7 +160,7 @@ RUN set -ex; \
chmod +x /usr/src/nextcloud/occ; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/

View File

@ -31,7 +31,6 @@ RUN set -ex; \
imagemagick-dev \
libevent-dev \
libjpeg-turbo-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libwebp-dev \
@ -53,7 +52,6 @@ RUN set -ex; \
gmp \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
@ -65,10 +63,10 @@ RUN set -ex; \
pecl install APCu-%%APCU_VERSION%%; \
pecl install igbinary-%%IGBINARY_VERSION%%; \
pecl install imagick-%%IMAGICK_VERSION%%; \
pecl install memcached-%%MEMCACHED_VERSION%% \
--configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-%%REDIS_VERSION%% \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
memcached-%%MEMCACHED_VERSION%%; \
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
redis-%%REDIS_VERSION%%; \
\
docker-php-ext-enable \
apcu \

View File

@ -8,10 +8,10 @@ RUN set -ex; \
busybox-static \
bzip2 \
libldap-common \
libmagickcore-6.q16-6-extra \
libmagickcore-7.q16-10-extra \
rsync \
; \
rm -rf /var/lib/apt/lists/*; \
apt-get dist-clean; \
\
mkdir -p /var/spool/cron/crontabs; \
echo '*/%%CRONTAB_INT%% * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
@ -34,8 +34,8 @@ RUN set -ex; \
libicu-dev \
libjpeg-dev \
libldap2-dev \
liblz4-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libpng-dev \
libpq-dev \
@ -56,7 +56,6 @@ RUN set -ex; \
gmp \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
@ -68,10 +67,10 @@ RUN set -ex; \
pecl install APCu-%%APCU_VERSION%%; \
pecl install igbinary-%%IGBINARY_VERSION%%; \
pecl install imagick-%%IMAGICK_VERSION%%; \
pecl install memcached-%%MEMCACHED_VERSION%% \
--configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-%%REDIS_VERSION%% \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
memcached-%%MEMCACHED_VERSION%%; \
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
redis-%%REDIS_VERSION%%; \
\
docker-php-ext-enable \
apcu \
@ -88,13 +87,14 @@ RUN set -ex; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| xargs -rt dpkg-query --search \
# https://manpages.debian.org/trixie/dpkg/dpkg-query.1.en.html#S (we ignore diversions and it'll be really unusual for more than one package to provide any given .so file)
| awk 'sub(":$", "", $1) { print $1 }' \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
@ -159,7 +159,7 @@ RUN set -ex; \
chmod +x /usr/src/nextcloud/occ; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
rm -rf /var/lib/apt/lists/*
apt-get dist-clean
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/

View File

@ -15,6 +15,46 @@ A safe home for all your data. Access & share your files, calendars, contacts, m
⚠️⚠️⚠️ This image is maintained by community volunteers and designed for expert use. For quick and easy deployment that supports the full set of Nextcloud Hub features, use the [Nextcloud All-in-One docker container](https://github.com/nextcloud/all-in-one#nextcloud-all-in-one) maintained by Nextcloud GmbH.
## Table of Contents
- [What is Nextcloud?](#what-is-nextcloud)
- [How to use this image](#how-to-use-this-image)
- [Getting help](#getting-help)
- [Using the apache image](#using-the-apache-image)
- [Using the fpm image](#using-the-fpm-image)
- [Using an external database](#using-an-external-database)
- [Persistent data](#persistent-data)
- [Additional volumes](#additional-volumes)
- [Custom volumes](#custom-volumes)
- [Running as an arbitrary user / file permissions / changing the default container user](#running-as-an-arbitrary-user--file-permissions--changing-the-default-container-user)
- [Accessing the Nextcloud command-line interface (`occ`)](#accessing-the-nextcloud-command-line-interface-occ)
- [Viewing the Nextcloud configuration (`config.php`)](#viewing-the-nextcloud-configuration-configphp)
- [Auto configuration via environment variables](#auto-configuration-via-environment-variables)
- [Database parameters](#database-parameters)
- [Initial admin account](#initial-admin-account)
- [Custom Data directory (`datadirectory`)](#custom-data-directory-datadirectory)
- [Trusted domains (`trusted_domains`)](#trusted-domains-trusted_domains)
- [Image specific](#image-specific)
- [Redis Memory Caching](#redis-memory-caching)
- [E-mail (SMTP) Configuration](#e-mail-smtp-configuration)
- [Object Storage (Primary Storage)](#object-storage-primary-storage)
- [PHP Configuration](#php-configuration)
- [Apache Configuration](#apache-configuration)
- [Using the image behind a reverse proxy and specifying the server host and protocol](#using-the-image-behind-a-reverse-proxy-and-specifying-the-server-host-and-protocol)
- [Handling `Warning: /var/www/html/config/$cfgFile differs from the latest version of this image at /usr/src/nextcloud/config/$cfgFile` (aka: Auto configuration and Nextcloud updates)](#handling-warning-varwwwhtmlconfigcfgfile-differs-from-the-latest-version-of-this-image-at-usrsrcnextcloudconfigcfgfile-aka-auto-configuration-and-nextcloud-updates)
- [Auto configuration via hook folders](#auto-configuration-via-hook-folders)
- [Running this image with `docker compose`](#running-this-image-with-docker-compose)
- [Base version - apache](#base-version---apache)
- [Base version - FPM](#base-version---fpm)
- [Docker Secrets](#docker-secrets)
- [Make your Nextcloud available from the internet](#make-your-nextcloud-available-from-the-internet)
- [HTTPS - SSL encryption](#https---ssl-encryption)
- [First use](#first-use)
- [Update to a newer version](#update-to-a-newer-version)
- [Adding Features](#adding-features)
- [Migrating an existing installation](#migrating-an-existing-installation)
- [Migrating from a non-Alpine image to an Alpine image](#migrating-from-a-non-alpine-image-to-an-alpine-image)
- [Reporting bugs or suggesting enhancements](#reporting-bugs-or-suggesting-enhancements)
# 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.

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -Eeuo pipefail
stable_channel='31.0.7'
stable_channel='31.0.12'
self="$(basename "$BASH_SOURCE")"
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"

View File

@ -1 +1 @@
31.0.7
32.0.3

View File

@ -2,11 +2,11 @@
set -eo pipefail
declare -A alpine_version=(
[default]='3.22'
[default]='3.23'
)
declare -A debian_version=(
[default]='bookworm'
[default]='trixie'
)
declare -A php_version=(
@ -94,7 +94,7 @@ variants=(
fpm-alpine
)
min_version='30'
min_version='31'
# version_greater_or_equal A B returns whether A >= B
function version_greater_or_equal() {
@ -107,8 +107,8 @@ function create_variant() {
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"
url="https://github.com/nextcloud-releases/server/releases/download/v$fullversion/nextcloud-$fullversion.tar.bz2"
ascUrl="https://github.com/nextcloud-releases/server/releases/download/v$fullversion/nextcloud-$fullversion.tar.bz2.asc"
# Create the version+variant directory with a Dockerfile.
mkdir -p "$dir"

View File

@ -1,52 +1,52 @@
{
"31": {
"branch": "31",
"version": "31.0.7",
"url": "https://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2",
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2.asc",
"32": {
"branch": "32",
"version": "32.0.3",
"url": "https://github.com/nextcloud-releases/server/releases/download/v32.0.3/nextcloud-32.0.3.tar.bz2",
"ascUrl": "https://github.com/nextcloud-releases/server/releases/download/v32.0.3/nextcloud-32.0.3.tar.bz2.asc",
"variants": {
"apache": {
"variant": "apache",
"base": "debian",
"baseVersion": "bookworm",
"baseVersion": "trixie",
"phpVersion": "8.3"
},
"fpm": {
"variant": "fpm",
"base": "debian",
"baseVersion": "bookworm",
"baseVersion": "trixie",
"phpVersion": "8.3"
},
"fpm-alpine": {
"variant": "fpm-alpine",
"base": "alpine",
"baseVersion": "3.22",
"baseVersion": "3.23",
"phpVersion": "8.3"
}
}
},
"30": {
"branch": "30",
"version": "30.0.13",
"url": "https://download.nextcloud.com/server/releases/nextcloud-30.0.13.tar.bz2",
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-30.0.13.tar.bz2.asc",
"31": {
"branch": "31",
"version": "31.0.12",
"url": "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2",
"ascUrl": "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2.asc",
"variants": {
"apache": {
"variant": "apache",
"base": "debian",
"baseVersion": "bookworm",
"baseVersion": "trixie",
"phpVersion": "8.3"
},
"fpm": {
"variant": "fpm",
"base": "debian",
"baseVersion": "bookworm",
"baseVersion": "trixie",
"phpVersion": "8.3"
},
"fpm-alpine": {
"variant": "fpm-alpine",
"base": "alpine",
"baseVersion": "3.22",
"baseVersion": "3.23",
"phpVersion": "8.3"
}
}