0
0
Fork 0
mirror of https://github.com/nextcloud/docker.git synced 2025-07-21 14:48:05 +02:00

Compare commits

...

9 commits

Author SHA1 Message Date
Jesse Hitch
fa2925a0cb
Merge e35ea1e23b into 4daafc8d20 2025-02-23 20:28:48 +01:00
J0WI
4daafc8d20
Bump stable to 30.0.6
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-02-13 20:34:07 +00:00
GitHub Workflow
4f691770ae Runs update.sh 2025-02-13 19:43:06 +00:00
J0WI
a5656577ef
Compile with igbinary (#2368)
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2025-02-11 18:01:24 +01:00
jessebot
e35ea1e23b
only set variables if they're actively in use
Signed-off-by: jessebot <jessebot@linux.com>
2025-01-09 14:44:06 +01:00
Jesse Hitch
1581991664 Update README.md
Signed-off-by: Jesse Hitch <jessebot@linux.com>
2025-01-02 17:19:03 +01:00
Jesse Hitch
290d81f07b Update README.md
Signed-off-by: Jesse Hitch <jessebot@linux.com>
2025-01-02 17:19:03 +01:00
Jesse Hitch
f925ce2306 Update .config/s3.config.php - don't set defaults for new s3 values
Signed-off-by: Jesse Hitch <jessebot@linux.com>
2025-01-02 17:19:03 +01:00
jessebot
61fda52036 allow setting s3 concurrency, proxy, timeout, uploadPartSize, putSizeLimit, version, and verify_bucket_exists
Signed-off-by: jessebot <jessebot@linux.com>
2025-01-02 17:19:03 +01:00
14 changed files with 193 additions and 68 deletions

View file

@ -4,6 +4,15 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
$use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE'); $use_path = getenv('OBJECTSTORE_S3_USEPATH_STYLE');
$use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH'); $use_legacyauth = getenv('OBJECTSTORE_S3_LEGACYAUTH');
$autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE'); $autocreate = getenv('OBJECTSTORE_S3_AUTOCREATE');
$proxy = getenv('OBJECTSTORE_S3_PROXY');
$verify_bucket_exists = getenv('OBJECTSTORE_S3_VERIFY_BUCKET_EXISTS');
$use_multipart_copy = getenv('OBJECTSTORE_S3_USEMULTIPARTCOPY');
$concurrency = getenv('OBJECTSTORE_S3_CONCURRENCY');
$timeout = getenv('OBJECTSTORE_S3_TIMEOUT');
$upload_part_size = getenv('OBJECTSTORE_S3_UPLOADPARTSIZE');
$put_size_limit = getenv('OBJECTSTORE_S3_PUTSIZELIMIT');
$copy_size_limit = getenv('OBJECTSTORE_S3_COPYSIZELIMIT');
$CONFIG = array( $CONFIG = array(
'objectstore' => array( 'objectstore' => array(
'class' => '\OC\Files\ObjectStore\S3', 'class' => '\OC\Files\ObjectStore\S3',
@ -19,11 +28,35 @@ if (getenv('OBJECTSTORE_S3_BUCKET')) {
// required for some non Amazon S3 implementations // required for some non Amazon S3 implementations
'use_path_style' => $use_path == true && strtolower($use_path) !== 'false', 'use_path_style' => $use_path == true && strtolower($use_path) !== 'false',
// required for older protocol versions // required for older protocol versions
'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false' 'useMultipartCopy' => strtolower($useMultipartCopy) !== 'true',
'legacy_auth' => $use_legacyauth == true && strtolower($use_legacyauth) !== 'false',
'proxy' => strtolower($proxy) !== 'false',
'version' => getenv('OBJECTSTORE_S3_VERSION') ?: 'latest',
'verify_bucket_exists' => strtolower($verify_bucket_exists) !== 'true'
) )
) )
); );
if $concurrency {
$CONFIG['objectstore']['arguments']['concurrency'] = $concurrency;
}
if $timeout {
$CONFIG['objectstore']['arguments']['timeout'] = $timeout;
}
if $upload_part_size {
$CONFIG['objectstore']['arguments']['uploadPartSize'] = $upload_part_size;
}
if $put_size_limit {
$CONFIG['objectstore']['arguments']['putSizeLimit'] = $put_size_limit;
}
if $copy_size_limit {
$CONFIG['objectstore']['arguments']['copySizeLimit'] = $copy_size_limit;
}
if (getenv('OBJECTSTORE_S3_KEY_FILE')) { if (getenv('OBJECTSTORE_S3_KEY_FILE')) {
$CONFIG['objectstore']['arguments']['key'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_KEY_FILE'))); $CONFIG['objectstore']['arguments']['key'] = trim(file_get_contents(getenv('OBJECTSTORE_S3_KEY_FILE')));
} elseif (getenv('OBJECTSTORE_S3_KEY')) { } elseif (getenv('OBJECTSTORE_S3_KEY')) {

View file

@ -67,12 +67,16 @@ RUN set -ex; \
\ \
# pecl will claim success even if one install fails, so we need to perform each install separately # pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \ pecl install APCu-5.1.24; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.7.0; \ pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \ pecl install memcached-3.3.0 \
pecl install redis-6.1.0; \ --configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.1.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
igbinary \
imagick \ imagick \
memcached \ memcached \
redis \ redis \
@ -108,6 +112,11 @@ RUN { \
\ \
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
\ \
{ \
echo 'apc.serializer=igbinary'; \
echo 'session.serialize_handler=igbinary'; \
} >> "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini"; \
\
{ \ { \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \
@ -141,7 +150,7 @@ RUN { \
} > /etc/apache2/conf-available/apache-limits.conf; \ } > /etc/apache2/conf-available/apache-limits.conf; \
a2enconf apache-limits a2enconf apache-limits
ENV NEXTCLOUD_VERSION 29.0.11 ENV NEXTCLOUD_VERSION 29.0.12
RUN set -ex; \ RUN set -ex; \
fetchDeps=" \ fetchDeps=" \
@ -151,8 +160,8 @@ RUN set -ex; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \ apt-get install -y --no-install-recommends $fetchDeps; \
\ \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.11.tar.bz2"; \ curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.12.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.11.tar.bz2.asc"; \ curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.12.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc # gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -64,12 +64,16 @@ RUN set -ex; \
\ \
# pecl will claim success even if one install fails, so we need to perform each install separately # pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \ pecl install APCu-5.1.24; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.7.0; \ pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \ pecl install memcached-3.3.0 \
pecl install redis-6.1.0; \ --configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.1.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
igbinary \
imagick \ imagick \
memcached \ memcached \
redis \ redis \
@ -103,6 +107,11 @@ RUN { \
\ \
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
\ \
{ \
echo 'apc.serializer=igbinary'; \
echo 'session.serialize_handler=igbinary'; \
} >> "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini"; \
\
{ \ { \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \
@ -121,7 +130,7 @@ RUN { \
VOLUME /var/www/html VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 29.0.11 ENV NEXTCLOUD_VERSION 29.0.12
RUN set -ex; \ RUN set -ex; \
apk add --no-cache --virtual .fetch-deps \ apk add --no-cache --virtual .fetch-deps \
@ -129,8 +138,8 @@ RUN set -ex; \
gnupg \ gnupg \
; \ ; \
\ \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.11.tar.bz2"; \ curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.12.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.11.tar.bz2.asc"; \ curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.12.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc # gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -67,12 +67,16 @@ RUN set -ex; \
\ \
# pecl will claim success even if one install fails, so we need to perform each install separately # pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \ pecl install APCu-5.1.24; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.7.0; \ pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \ pecl install memcached-3.3.0 \
pecl install redis-6.1.0; \ --configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.1.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
igbinary \
imagick \ imagick \
memcached \ memcached \
redis \ redis \
@ -108,6 +112,11 @@ RUN { \
\ \
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
\ \
{ \
echo 'apc.serializer=igbinary'; \
echo 'session.serialize_handler=igbinary'; \
} >> "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini"; \
\
{ \ { \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \
@ -126,7 +135,7 @@ RUN { \
VOLUME /var/www/html VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 29.0.11 ENV NEXTCLOUD_VERSION 29.0.12
RUN set -ex; \ RUN set -ex; \
fetchDeps=" \ fetchDeps=" \
@ -136,8 +145,8 @@ RUN set -ex; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \ apt-get install -y --no-install-recommends $fetchDeps; \
\ \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.11.tar.bz2"; \ curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.12.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.11.tar.bz2.asc"; \ curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.12.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc # gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -67,12 +67,16 @@ RUN set -ex; \
\ \
# pecl will claim success even if one install fails, so we need to perform each install separately # pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \ pecl install APCu-5.1.24; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.7.0; \ pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \ pecl install memcached-3.3.0 \
pecl install redis-6.1.0; \ --configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.1.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
igbinary \
imagick \ imagick \
memcached \ memcached \
redis \ redis \
@ -108,6 +112,11 @@ RUN { \
\ \
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
\ \
{ \
echo 'apc.serializer=igbinary'; \
echo 'session.serialize_handler=igbinary'; \
} >> "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini"; \
\
{ \ { \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \
@ -141,7 +150,7 @@ RUN { \
} > /etc/apache2/conf-available/apache-limits.conf; \ } > /etc/apache2/conf-available/apache-limits.conf; \
a2enconf apache-limits a2enconf apache-limits
ENV NEXTCLOUD_VERSION 30.0.5 ENV NEXTCLOUD_VERSION 30.0.6
RUN set -ex; \ RUN set -ex; \
fetchDeps=" \ fetchDeps=" \
@ -151,8 +160,8 @@ RUN set -ex; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \ apt-get install -y --no-install-recommends $fetchDeps; \
\ \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.5.tar.bz2"; \ curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.6.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.5.tar.bz2.asc"; \ curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.6.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc # gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -64,12 +64,16 @@ RUN set -ex; \
\ \
# pecl will claim success even if one install fails, so we need to perform each install separately # pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \ pecl install APCu-5.1.24; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.7.0; \ pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \ pecl install memcached-3.3.0 \
pecl install redis-6.1.0; \ --configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.1.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
igbinary \
imagick \ imagick \
memcached \ memcached \
redis \ redis \
@ -103,6 +107,11 @@ RUN { \
\ \
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
\ \
{ \
echo 'apc.serializer=igbinary'; \
echo 'session.serialize_handler=igbinary'; \
} >> "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini"; \
\
{ \ { \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \
@ -121,7 +130,7 @@ RUN { \
VOLUME /var/www/html VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 30.0.5 ENV NEXTCLOUD_VERSION 30.0.6
RUN set -ex; \ RUN set -ex; \
apk add --no-cache --virtual .fetch-deps \ apk add --no-cache --virtual .fetch-deps \
@ -129,8 +138,8 @@ RUN set -ex; \
gnupg \ gnupg \
; \ ; \
\ \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.5.tar.bz2"; \ curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.6.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.5.tar.bz2.asc"; \ curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.6.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc # gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -67,12 +67,16 @@ RUN set -ex; \
\ \
# pecl will claim success even if one install fails, so we need to perform each install separately # pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-5.1.24; \ pecl install APCu-5.1.24; \
pecl install igbinary-3.2.16; \
pecl install imagick-3.7.0; \ pecl install imagick-3.7.0; \
pecl install memcached-3.3.0; \ pecl install memcached-3.3.0 \
pecl install redis-6.1.0; \ --configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-6.1.0 \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
igbinary \
imagick \ imagick \
memcached \ memcached \
redis \ redis \
@ -108,6 +112,11 @@ RUN { \
\ \
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
\ \
{ \
echo 'apc.serializer=igbinary'; \
echo 'session.serialize_handler=igbinary'; \
} >> "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini"; \
\
{ \ { \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \
@ -126,7 +135,7 @@ RUN { \
VOLUME /var/www/html VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 30.0.5 ENV NEXTCLOUD_VERSION 30.0.6
RUN set -ex; \ RUN set -ex; \
fetchDeps=" \ fetchDeps=" \
@ -136,8 +145,8 @@ RUN set -ex; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \ apt-get install -y --no-install-recommends $fetchDeps; \
\ \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.5.tar.bz2"; \ curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.6.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.5.tar.bz2.asc"; \ curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.6.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \ export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc # gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \ gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -63,12 +63,16 @@ RUN set -ex; \
\ \
# pecl will claim success even if one install fails, so we need to perform each install separately # pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-%%APCU_VERSION%%; \ pecl install APCu-%%APCU_VERSION%%; \
pecl install igbinary-%%IGBINARY_VERSION%%; \
pecl install imagick-%%IMAGICK_VERSION%%; \ pecl install imagick-%%IMAGICK_VERSION%%; \
pecl install memcached-%%MEMCACHED_VERSION%%; \ pecl install memcached-%%MEMCACHED_VERSION%% \
pecl install redis-%%REDIS_VERSION%%; \ --configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-%%REDIS_VERSION%% \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
igbinary \
imagick \ imagick \
memcached \ memcached \
redis \ redis \
@ -102,6 +106,11 @@ RUN { \
\ \
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
\ \
{ \
echo 'apc.serializer=igbinary'; \
echo 'session.serialize_handler=igbinary'; \
} >> "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini"; \
\
{ \ { \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \

View file

@ -66,12 +66,16 @@ RUN set -ex; \
\ \
# pecl will claim success even if one install fails, so we need to perform each install separately # pecl will claim success even if one install fails, so we need to perform each install separately
pecl install APCu-%%APCU_VERSION%%; \ pecl install APCu-%%APCU_VERSION%%; \
pecl install igbinary-%%IGBINARY_VERSION%%; \
pecl install imagick-%%IMAGICK_VERSION%%; \ pecl install imagick-%%IMAGICK_VERSION%%; \
pecl install memcached-%%MEMCACHED_VERSION%%; \ pecl install memcached-%%MEMCACHED_VERSION%% \
pecl install redis-%%REDIS_VERSION%%; \ --configureoptions 'enable-memcached-igbinary="yes"'; \
pecl install redis-%%REDIS_VERSION%% \
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
\ \
docker-php-ext-enable \ docker-php-ext-enable \
apcu \ apcu \
igbinary \
imagick \ imagick \
memcached \ memcached \
redis \ redis \
@ -107,6 +111,11 @@ RUN { \
\ \
echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \ echo 'apc.enable_cli=1' >> "${PHP_INI_DIR}/conf.d/docker-php-ext-apcu.ini"; \
\ \
{ \
echo 'apc.serializer=igbinary'; \
echo 'session.serialize_handler=igbinary'; \
} >> "${PHP_INI_DIR}/conf.d/docker-php-ext-igbinary.ini"; \
\
{ \ { \
echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \ echo 'memory_limit=${PHP_MEMORY_LIMIT}'; \
echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${PHP_UPLOAD_LIMIT}'; \

View file

@ -278,6 +278,15 @@ To use an external S3 compatible object store as primary storage, set the follow
- `OBJECTSTORE_S3_OBJECT_PREFIX` (default: `urn:oid:`): Prefix to prepend to the fileid - `OBJECTSTORE_S3_OBJECT_PREFIX` (default: `urn:oid:`): Prefix to prepend to the fileid
- `OBJECTSTORE_S3_AUTOCREATE` (default: `true`): Create the container if it does not exist - `OBJECTSTORE_S3_AUTOCREATE` (default: `true`): Create the container if it does not exist
- `OBJECTSTORE_S3_SSE_C_KEY` (not set by default): Base64 encoded key with a maximum length of 32 bytes for server side encryption (SSE-C) - `OBJECTSTORE_S3_SSE_C_KEY` (not set by default): Base64 encoded key with a maximum length of 32 bytes for server side encryption (SSE-C)
- `OBJECTSTORE_S3_CONCURRENCY` defines the maximum number of concurrent multipart uploads
- `OBJECTSTORE_S3_PROXY` (default: `false`)
- `OBJECTSTORE_S3_TIMEOUT` (not set by default)
- `OBJECTSTORE_S3_UPLOADPARTSIZE` (not set by default)
- `OBJECTSTORE_S3_PUTSIZELIMIT` (not set by default)
- `OBJECTSTORE_S3_USEMULTIPARTCOPY` (default: `false`)
- `OBJECTSTORE_S3_COPYSIZELIMIT` (not set by default)
- `OBJECTSTORE_S3_VERSION` (default: `latest`)
- `OBJECTSTORE_S3_VERIFY_BUCKET_EXISTS` (default: `true`) Setting this to `false` after confirming the bucket has been created may provide a performance benefit, but may not be possible in multibucket scenarios.
Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3) for more information. Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/primary_storage.html#simple-storage-service-s3) for more information.

View file

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

View file

@ -1 +1 @@
30.0.5 30.0.6

View file

@ -44,6 +44,24 @@ apcu_version="$(
| tail -1 | tail -1
)" )"
igbinary_version="$(
git ls-remote --tags https://github.com/igbinary/igbinary.git \
| cut -d/ -f3 \
| grep -viE '[a-z]' \
| tr -d '^{}' \
| sort -V \
| tail -1
)"
imagick_version="$(
git ls-remote --tags https://github.com/mkoppanen/imagick.git \
| cut -d/ -f3 \
| grep -viE '[a-z]' \
| tr -d '^{}' \
| sort -V \
| tail -1
)"
memcached_version="$( memcached_version="$(
git ls-remote --tags https://github.com/php-memcached-dev/php-memcached.git \ git ls-remote --tags https://github.com/php-memcached-dev/php-memcached.git \
| cut -d/ -f3 \ | cut -d/ -f3 \
@ -62,20 +80,12 @@ redis_version="$(
| tail -1 | tail -1
)" )"
imagick_version="$(
git ls-remote --tags https://github.com/mkoppanen/imagick.git \
| cut -d/ -f3 \
| grep -viE '[a-z]' \
| tr -d '^{}' \
| sort -V \
| tail -1
)"
declare -A pecl_versions=( declare -A pecl_versions=(
[APCu]="$apcu_version" [APCu]="$apcu_version"
[igbinary]="$igbinary_version"
[imagick]="$imagick_version"
[memcached]="$memcached_version" [memcached]="$memcached_version"
[redis]="$redis_version" [redis]="$redis_version"
[imagick]="$imagick_version"
) )
variants=( variants=(
@ -121,9 +131,10 @@ function create_variant() {
s/%%CMD%%/'"${cmd[$variant]}"'/g; s/%%CMD%%/'"${cmd[$variant]}"'/g;
s|%%VARIANT_EXTRAS%%|'"${extras[$variant]}"'|g; s|%%VARIANT_EXTRAS%%|'"${extras[$variant]}"'|g;
s/%%APCU_VERSION%%/'"${pecl_versions[APCu]}"'/g; s/%%APCU_VERSION%%/'"${pecl_versions[APCu]}"'/g;
s/%%IGBINARY_VERSION%%/'"${pecl_versions[igbinary]}"'/g;
s/%%IMAGICK_VERSION%%/'"${pecl_versions[imagick]}"'/g;
s/%%MEMCACHED_VERSION%%/'"${pecl_versions[memcached]}"'/g; s/%%MEMCACHED_VERSION%%/'"${pecl_versions[memcached]}"'/g;
s/%%REDIS_VERSION%%/'"${pecl_versions[redis]}"'/g; s/%%REDIS_VERSION%%/'"${pecl_versions[redis]}"'/g;
s/%%IMAGICK_VERSION%%/'"${pecl_versions[imagick]}"'/g;
s/%%CRONTAB_INT%%/'"$crontabInt"'/g; s/%%CRONTAB_INT%%/'"$crontabInt"'/g;
' "$dir/Dockerfile" ' "$dir/Dockerfile"

View file

@ -1,9 +1,9 @@
{ {
"30": { "30": {
"branch": "30", "branch": "30",
"version": "30.0.5", "version": "30.0.6",
"url": "https://download.nextcloud.com/server/releases/nextcloud-30.0.5.tar.bz2", "url": "https://download.nextcloud.com/server/releases/nextcloud-30.0.6.tar.bz2",
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-30.0.5.tar.bz2.asc", "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-30.0.6.tar.bz2.asc",
"variants": { "variants": {
"apache": { "apache": {
"variant": "apache", "variant": "apache",
@ -27,9 +27,9 @@
}, },
"29": { "29": {
"branch": "29", "branch": "29",
"version": "29.0.11", "version": "29.0.12",
"url": "https://download.nextcloud.com/server/releases/nextcloud-29.0.11.tar.bz2", "url": "https://download.nextcloud.com/server/releases/nextcloud-29.0.12.tar.bz2",
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-29.0.11.tar.bz2.asc", "ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-29.0.12.tar.bz2.asc",
"variants": { "variants": {
"apache": { "apache": {
"variant": "apache", "variant": "apache",