3 Commits

Author SHA1 Message Date
hoellen 49df44d2ca chore: update PHP to 8.5 2026-06-09 12:59:03 +02:00
hoellen afe748865e chore: update nginx to 1.30 2026-06-09 10:26:46 +02:00
hoellen 119300fd7e chore: update Nextcloud to 34.0.0 2026-06-09 10:26:39 +02:00
3 changed files with 12 additions and 11 deletions
+5 -6
View File
@@ -1,7 +1,7 @@
# -------------- Build-time variables --------------
ARG NEXTCLOUD_VERSION=33.0.5
ARG PHP_VERSION=8.4
ARG NGINX_VERSION=1.28
ARG NEXTCLOUD_VERSION=34.0.0
ARG PHP_VERSION=8.5
ARG NGINX_VERSION=1.30
ARG ALPINE_VERSION=3.23
ARG HARDENED_MALLOC_VERSION=14
@@ -10,8 +10,8 @@ ARG SNUFFLEUPAGUS_VERSION=0.13.0
ARG UID=1000
ARG GID=1000
# nextcloud-33.0.5.tar.bz2
ARG SHA256_SUM="ed46b91d8da4e1f0234d0188b25bee9448fa2f301887e5b28013e6b547d6dcca"
# nextcloud-34.0.0.tar.bz2
ARG SHA256_SUM="36c557cedc2a1a12cd68cffe535f21350a02cbd4ff60dd7a9dae3959c7873be4"
# Nextcloud Security <security@nextcloud.com> (D75899B9A724937A)
ARG GPG_FINGERPRINT="2880 6A87 8AE4 23A2 8372 792E D758 99B9 A724 937A"
@@ -62,7 +62,6 @@ RUN apk -U upgrade \
bz2 \
intl \
ldap \
opcache \
pcntl \
pdo_mysql \
pdo_pgsql \
@@ -1,4 +1,3 @@
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=<OPCACHE_MEM_SIZE>
@@ -15,7 +15,10 @@ sp.harden_random.enable();
# Globally activate strict mode
# https://www.php.net/manual/en/language.types.declarations.php#language.types.declarations.strict
sp.global_strict.enable();
# Disabled: PHP 8.5 expanded strict_types=1 to reject implicit object->string
# coercion via __toString(). This breaks symfony/console Helper::substr() which
# returns UnicodeString from a :string method. No per-file exclusion available.
# sp.global_strict.enable();
# Prevent unserialize-related exploits
# sp.unserialize_hmac.enable();
@@ -34,7 +37,7 @@ sp.sloppy_comparison.enable();
# https://snuffleupagus.readthedocs.io/features.html#protection-against-cross-site-request-forgery
sp.cookie.name("PHPSESSID").samesite("lax");
# Nextcloud whitelist (tested with Nextcloud 27.0.1)
# Nextcloud whitelist (tested with Nextcloud 34.0.0)
sp.disable_function.function("function_exists").param("function").value("proc_open").filename("/nextcloud/3rdparty/symfony/console/Terminal.php").allow();
sp.disable_function.function("function_exists").param("function").value("exec").filename("/nextcloud/lib/private/legacy/OC_Helper.php").allow();
sp.disable_function.function("function_exists").param("function").value("exec").filename("/nextcloud/lib/public/Util.php").allow();
@@ -48,8 +51,8 @@ sp.disable_function.function("ini_get").param("option").value("allow_url_fopen")
sp.disable_function.function("exec").param("command").value("apachectl -M | grep mpm").filename("/nextcloud/apps2/spreed/lib/Settings/Admin/AdminSettings.php").allow();
# Nextcloud inherently enables XXE-Protection since 27.0.1, therefore, drop setting a new external entity loader
sp.disable_function.function("libxml_set_external_entity_loader").filename("/nextcloud/lib/base.php").allow();
sp.disable_function.function("libxml_set_external_entity_loader").drop();
sp.disable_function.function("libxml_set_external_entity_loader").filename("/nextcloud/lib/base.php").allow();
sp.disable_function.function("libxml_set_external_entity_loader").drop();
# Harden the `chmod` function (0777 (oct = 511, 0666 = 438)
sp.disable_function.function("chmod").param("permissions").value("438").drop();