Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e1fba34d7 | ||
|
|
f2ab521657 | ||
|
|
168c570a07 | ||
|
|
3323992cb0 | ||
|
|
722ea77ac0 | ||
|
|
8b4598357c | ||
|
|
dea057bebe | ||
|
|
4f4c97fcc5 | ||
|
|
32ff000966 | ||
|
|
e836e09e2f | ||
|
|
264d04f2a2 | ||
|
|
f158223d14 | ||
|
|
50bf6dc8f9 | ||
|
|
50826df6b5 | ||
|
|
646fc1b0e2 | ||
|
|
1f87830fd6 | ||
|
|
f5b7b40808 | ||
|
|
09beb3754b | ||
|
|
8043c5ed93 | ||
|
|
c8211b8672 | ||
|
|
2ac1f1346c | ||
|
|
4cf9a20fdf | ||
|
|
1907ded05a | ||
|
|
943e55d314 | ||
|
|
9a78a3478e | ||
|
|
6e4ccffb9a | ||
|
|
b326158abc | ||
|
|
4a6e70cdb3 |
@ -14,7 +14,6 @@ http {
|
|||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
types {
|
types {
|
||||||
text/javascript mjs;
|
text/javascript mjs;
|
||||||
application/wasm wasm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
@ -39,8 +38,10 @@ http {
|
|||||||
|
|
||||||
#gzip on;
|
#gzip on;
|
||||||
|
|
||||||
|
resolver 127.0.0.11 valid=2s;
|
||||||
upstream php-handler {
|
upstream php-handler {
|
||||||
server app:9000;
|
zone backends 64k;
|
||||||
|
server app:9000 resolve;
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
|
|||||||
@ -14,7 +14,6 @@ http {
|
|||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
types {
|
types {
|
||||||
text/javascript mjs;
|
text/javascript mjs;
|
||||||
application/wasm wasm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
@ -39,8 +38,10 @@ http {
|
|||||||
|
|
||||||
#gzip on;
|
#gzip on;
|
||||||
|
|
||||||
|
resolver 127.0.0.11 valid=2s;
|
||||||
upstream php-handler {
|
upstream php-handler {
|
||||||
server app:9000;
|
zone backends 64k;
|
||||||
|
server app:9000 resolve;
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
|
|||||||
@ -14,7 +14,6 @@ http {
|
|||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
types {
|
types {
|
||||||
text/javascript mjs;
|
text/javascript mjs;
|
||||||
application/wasm wasm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
@ -39,8 +38,10 @@ http {
|
|||||||
|
|
||||||
#gzip on;
|
#gzip on;
|
||||||
|
|
||||||
|
resolver 127.0.0.11 valid=2s;
|
||||||
upstream php-handler {
|
upstream php-handler {
|
||||||
server app:9000;
|
zone backends 64k;
|
||||||
|
server app:9000 resolve;
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
|
|||||||
@ -14,7 +14,6 @@ http {
|
|||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
types {
|
types {
|
||||||
text/javascript mjs;
|
text/javascript mjs;
|
||||||
application/wasm wasm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
@ -39,8 +38,10 @@ http {
|
|||||||
|
|
||||||
#gzip on;
|
#gzip on;
|
||||||
|
|
||||||
|
resolver 127.0.0.11 valid=2s;
|
||||||
upstream php-handler {
|
upstream php-handler {
|
||||||
server app:9000;
|
zone backends 64k;
|
||||||
|
server app:9000 resolve;
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
|
|||||||
2
.github/workflows/update-sh.yml
vendored
2
.github/workflows/update-sh.yml
vendored
@ -5,7 +5,7 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '15 0 * * *'
|
- cron: '15 18 * * *'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
# 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
|
# entrypoint.sh and cron.sh dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
@ -9,10 +9,10 @@ RUN set -ex; \
|
|||||||
busybox-static \
|
busybox-static \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
libldap-common \
|
libldap-common \
|
||||||
libmagickcore-6.q16-6-extra \
|
libmagickcore-7.q16-10-extra \
|
||||||
rsync \
|
rsync \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*; \
|
apt-get dist-clean; \
|
||||||
\
|
\
|
||||||
mkdir -p /var/spool/cron/crontabs; \
|
mkdir -p /var/spool/cron/crontabs; \
|
||||||
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
|
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
|
||||||
@ -35,8 +35,8 @@ RUN set -ex; \
|
|||||||
libicu-dev \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
@ -57,7 +57,6 @@ RUN set -ex; \
|
|||||||
gmp \
|
gmp \
|
||||||
intl \
|
intl \
|
||||||
ldap \
|
ldap \
|
||||||
opcache \
|
|
||||||
pcntl \
|
pcntl \
|
||||||
pdo_mysql \
|
pdo_mysql \
|
||||||
pdo_pgsql \
|
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 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.28; \
|
||||||
pecl install igbinary-3.2.16; \
|
pecl install igbinary-3.2.16; \
|
||||||
pecl install imagick-3.8.0; \
|
pecl install imagick-3.8.1; \
|
||||||
pecl install memcached-3.3.0 \
|
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
|
||||||
--configureoptions 'enable-memcached-igbinary="yes"'; \
|
memcached-3.4.0; \
|
||||||
pecl install redis-6.2.0 \
|
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
|
||||||
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
|
redis-6.3.0; \
|
||||||
\
|
\
|
||||||
docker-php-ext-enable \
|
docker-php-ext-enable \
|
||||||
apcu \
|
apcu \
|
||||||
@ -89,13 +88,14 @@ RUN set -ex; \
|
|||||||
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
|
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 }' \
|
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
|
||||||
| sort -u \
|
| sort -u \
|
||||||
| xargs -r dpkg-query --search \
|
| xargs -rt dpkg-query --search \
|
||||||
| cut -d: -f1 \
|
# 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 \
|
| sort -u \
|
||||||
| xargs -rt apt-mark manual; \
|
| xargs -rt apt-mark manual; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
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
|
# set recommended PHP.ini settings
|
||||||
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
|
# 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; \
|
} > /etc/apache2/conf-available/apache-limits.conf; \
|
||||||
a2enconf apache-limits
|
a2enconf apache-limits
|
||||||
|
|
||||||
ENV NEXTCLOUD_VERSION 31.0.7
|
ENV NEXTCLOUD_VERSION 31.0.12
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
fetchDeps=" \
|
fetchDeps=" \
|
||||||
@ -160,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-31.0.7.tar.bz2"; \
|
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://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2.asc"; \
|
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)"; \
|
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; \
|
||||||
@ -175,7 +175,7 @@ RUN set -ex; \
|
|||||||
chmod +x /usr/src/nextcloud/occ; \
|
chmod +x /usr/src/nextcloud/occ; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
|
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 *.sh upgrade.exclude /
|
||||||
COPY config/* /usr/src/nextcloud/config/
|
COPY config/* /usr/src/nextcloud/config/
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
|
# 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
|
# entrypoint.sh and cron.sh dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
@ -32,7 +32,6 @@ RUN set -ex; \
|
|||||||
imagemagick-dev \
|
imagemagick-dev \
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
libjpeg-turbo-dev \
|
libjpeg-turbo-dev \
|
||||||
libmcrypt-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
@ -54,7 +53,6 @@ RUN set -ex; \
|
|||||||
gmp \
|
gmp \
|
||||||
intl \
|
intl \
|
||||||
ldap \
|
ldap \
|
||||||
opcache \
|
|
||||||
pcntl \
|
pcntl \
|
||||||
pdo_mysql \
|
pdo_mysql \
|
||||||
pdo_pgsql \
|
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 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.28; \
|
||||||
pecl install igbinary-3.2.16; \
|
pecl install igbinary-3.2.16; \
|
||||||
pecl install imagick-3.8.0; \
|
pecl install imagick-3.8.1; \
|
||||||
pecl install memcached-3.3.0 \
|
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
|
||||||
--configureoptions 'enable-memcached-igbinary="yes"'; \
|
memcached-3.4.0; \
|
||||||
pecl install redis-6.2.0 \
|
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
|
||||||
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
|
redis-6.3.0; \
|
||||||
\
|
\
|
||||||
docker-php-ext-enable \
|
docker-php-ext-enable \
|
||||||
apcu \
|
apcu \
|
||||||
@ -130,7 +128,7 @@ RUN { \
|
|||||||
VOLUME /var/www/html
|
VOLUME /var/www/html
|
||||||
|
|
||||||
|
|
||||||
ENV NEXTCLOUD_VERSION 31.0.7
|
ENV NEXTCLOUD_VERSION 31.0.12
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk add --no-cache --virtual .fetch-deps \
|
apk add --no-cache --virtual .fetch-deps \
|
||||||
@ -138,8 +136,8 @@ RUN set -ex; \
|
|||||||
gnupg \
|
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 "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://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2.asc"; \
|
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)"; \
|
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; \
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
# 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
|
# entrypoint.sh and cron.sh dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
@ -9,10 +9,10 @@ RUN set -ex; \
|
|||||||
busybox-static \
|
busybox-static \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
libldap-common \
|
libldap-common \
|
||||||
libmagickcore-6.q16-6-extra \
|
libmagickcore-7.q16-10-extra \
|
||||||
rsync \
|
rsync \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*; \
|
apt-get dist-clean; \
|
||||||
\
|
\
|
||||||
mkdir -p /var/spool/cron/crontabs; \
|
mkdir -p /var/spool/cron/crontabs; \
|
||||||
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
|
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
|
||||||
@ -35,8 +35,8 @@ RUN set -ex; \
|
|||||||
libicu-dev \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
@ -57,7 +57,6 @@ RUN set -ex; \
|
|||||||
gmp \
|
gmp \
|
||||||
intl \
|
intl \
|
||||||
ldap \
|
ldap \
|
||||||
opcache \
|
|
||||||
pcntl \
|
pcntl \
|
||||||
pdo_mysql \
|
pdo_mysql \
|
||||||
pdo_pgsql \
|
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 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.28; \
|
||||||
pecl install igbinary-3.2.16; \
|
pecl install igbinary-3.2.16; \
|
||||||
pecl install imagick-3.8.0; \
|
pecl install imagick-3.8.1; \
|
||||||
pecl install memcached-3.3.0 \
|
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
|
||||||
--configureoptions 'enable-memcached-igbinary="yes"'; \
|
memcached-3.4.0; \
|
||||||
pecl install redis-6.2.0 \
|
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
|
||||||
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
|
redis-6.3.0; \
|
||||||
\
|
\
|
||||||
docker-php-ext-enable \
|
docker-php-ext-enable \
|
||||||
apcu \
|
apcu \
|
||||||
@ -89,13 +88,14 @@ RUN set -ex; \
|
|||||||
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
|
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 }' \
|
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
|
||||||
| sort -u \
|
| sort -u \
|
||||||
| xargs -r dpkg-query --search \
|
| xargs -rt dpkg-query --search \
|
||||||
| cut -d: -f1 \
|
# 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 \
|
| sort -u \
|
||||||
| xargs -rt apt-mark manual; \
|
| xargs -rt apt-mark manual; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
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
|
# set recommended PHP.ini settings
|
||||||
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
|
# 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
|
VOLUME /var/www/html
|
||||||
|
|
||||||
|
|
||||||
ENV NEXTCLOUD_VERSION 31.0.7
|
ENV NEXTCLOUD_VERSION 31.0.12
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
fetchDeps=" \
|
fetchDeps=" \
|
||||||
@ -145,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-31.0.7.tar.bz2"; \
|
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://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2.asc"; \
|
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)"; \
|
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; \
|
||||||
@ -160,7 +160,7 @@ RUN set -ex; \
|
|||||||
chmod +x /usr/src/nextcloud/occ; \
|
chmod +x /usr/src/nextcloud/occ; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
|
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 *.sh upgrade.exclude /
|
||||||
COPY config/* /usr/src/nextcloud/config/
|
COPY config/* /usr/src/nextcloud/config/
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
# 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
|
# entrypoint.sh and cron.sh dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
@ -9,10 +9,10 @@ RUN set -ex; \
|
|||||||
busybox-static \
|
busybox-static \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
libldap-common \
|
libldap-common \
|
||||||
libmagickcore-6.q16-6-extra \
|
libmagickcore-7.q16-10-extra \
|
||||||
rsync \
|
rsync \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*; \
|
apt-get dist-clean; \
|
||||||
\
|
\
|
||||||
mkdir -p /var/spool/cron/crontabs; \
|
mkdir -p /var/spool/cron/crontabs; \
|
||||||
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
|
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
|
||||||
@ -35,8 +35,8 @@ RUN set -ex; \
|
|||||||
libicu-dev \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
@ -57,7 +57,6 @@ RUN set -ex; \
|
|||||||
gmp \
|
gmp \
|
||||||
intl \
|
intl \
|
||||||
ldap \
|
ldap \
|
||||||
opcache \
|
|
||||||
pcntl \
|
pcntl \
|
||||||
pdo_mysql \
|
pdo_mysql \
|
||||||
pdo_pgsql \
|
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 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.28; \
|
||||||
pecl install igbinary-3.2.16; \
|
pecl install igbinary-3.2.16; \
|
||||||
pecl install imagick-3.8.0; \
|
pecl install imagick-3.8.1; \
|
||||||
pecl install memcached-3.3.0 \
|
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
|
||||||
--configureoptions 'enable-memcached-igbinary="yes"'; \
|
memcached-3.4.0; \
|
||||||
pecl install redis-6.2.0 \
|
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
|
||||||
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
|
redis-6.3.0; \
|
||||||
\
|
\
|
||||||
docker-php-ext-enable \
|
docker-php-ext-enable \
|
||||||
apcu \
|
apcu \
|
||||||
@ -89,13 +88,14 @@ RUN set -ex; \
|
|||||||
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
|
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 }' \
|
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
|
||||||
| sort -u \
|
| sort -u \
|
||||||
| xargs -r dpkg-query --search \
|
| xargs -rt dpkg-query --search \
|
||||||
| cut -d: -f1 \
|
# 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 \
|
| sort -u \
|
||||||
| xargs -rt apt-mark manual; \
|
| xargs -rt apt-mark manual; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
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
|
# set recommended PHP.ini settings
|
||||||
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
|
# 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; \
|
} > /etc/apache2/conf-available/apache-limits.conf; \
|
||||||
a2enconf apache-limits
|
a2enconf apache-limits
|
||||||
|
|
||||||
ENV NEXTCLOUD_VERSION 30.0.13
|
ENV NEXTCLOUD_VERSION 32.0.3
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
fetchDeps=" \
|
fetchDeps=" \
|
||||||
@ -160,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.13.tar.bz2"; \
|
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://download.nextcloud.com/server/releases/nextcloud-30.0.13.tar.bz2.asc"; \
|
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)"; \
|
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; \
|
||||||
@ -175,7 +175,7 @@ RUN set -ex; \
|
|||||||
chmod +x /usr/src/nextcloud/occ; \
|
chmod +x /usr/src/nextcloud/occ; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
|
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 *.sh upgrade.exclude /
|
||||||
COPY config/* /usr/src/nextcloud/config/
|
COPY config/* /usr/src/nextcloud/config/
|
||||||
@ -1,5 +1,5 @@
|
|||||||
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
|
# 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
|
# entrypoint.sh and cron.sh dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
@ -32,7 +32,6 @@ RUN set -ex; \
|
|||||||
imagemagick-dev \
|
imagemagick-dev \
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
libjpeg-turbo-dev \
|
libjpeg-turbo-dev \
|
||||||
libmcrypt-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
@ -54,7 +53,6 @@ RUN set -ex; \
|
|||||||
gmp \
|
gmp \
|
||||||
intl \
|
intl \
|
||||||
ldap \
|
ldap \
|
||||||
opcache \
|
|
||||||
pcntl \
|
pcntl \
|
||||||
pdo_mysql \
|
pdo_mysql \
|
||||||
pdo_pgsql \
|
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 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.28; \
|
||||||
pecl install igbinary-3.2.16; \
|
pecl install igbinary-3.2.16; \
|
||||||
pecl install imagick-3.8.0; \
|
pecl install imagick-3.8.1; \
|
||||||
pecl install memcached-3.3.0 \
|
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
|
||||||
--configureoptions 'enable-memcached-igbinary="yes"'; \
|
memcached-3.4.0; \
|
||||||
pecl install redis-6.2.0 \
|
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
|
||||||
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
|
redis-6.3.0; \
|
||||||
\
|
\
|
||||||
docker-php-ext-enable \
|
docker-php-ext-enable \
|
||||||
apcu \
|
apcu \
|
||||||
@ -130,7 +128,7 @@ RUN { \
|
|||||||
VOLUME /var/www/html
|
VOLUME /var/www/html
|
||||||
|
|
||||||
|
|
||||||
ENV NEXTCLOUD_VERSION 30.0.13
|
ENV NEXTCLOUD_VERSION 32.0.3
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
apk add --no-cache --virtual .fetch-deps \
|
apk add --no-cache --virtual .fetch-deps \
|
||||||
@ -138,8 +136,8 @@ RUN set -ex; \
|
|||||||
gnupg \
|
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 "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://download.nextcloud.com/server/releases/nextcloud-30.0.13.tar.bz2.asc"; \
|
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)"; \
|
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; \
|
||||||
@ -1,5 +1,5 @@
|
|||||||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
# 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
|
# entrypoint.sh and cron.sh dependencies
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
@ -9,10 +9,10 @@ RUN set -ex; \
|
|||||||
busybox-static \
|
busybox-static \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
libldap-common \
|
libldap-common \
|
||||||
libmagickcore-6.q16-6-extra \
|
libmagickcore-7.q16-10-extra \
|
||||||
rsync \
|
rsync \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*; \
|
apt-get dist-clean; \
|
||||||
\
|
\
|
||||||
mkdir -p /var/spool/cron/crontabs; \
|
mkdir -p /var/spool/cron/crontabs; \
|
||||||
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
|
echo '*/5 * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
|
||||||
@ -35,8 +35,8 @@ RUN set -ex; \
|
|||||||
libicu-dev \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
@ -57,7 +57,6 @@ RUN set -ex; \
|
|||||||
gmp \
|
gmp \
|
||||||
intl \
|
intl \
|
||||||
ldap \
|
ldap \
|
||||||
opcache \
|
|
||||||
pcntl \
|
pcntl \
|
||||||
pdo_mysql \
|
pdo_mysql \
|
||||||
pdo_pgsql \
|
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 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.28; \
|
||||||
pecl install igbinary-3.2.16; \
|
pecl install igbinary-3.2.16; \
|
||||||
pecl install imagick-3.8.0; \
|
pecl install imagick-3.8.1; \
|
||||||
pecl install memcached-3.3.0 \
|
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
|
||||||
--configureoptions 'enable-memcached-igbinary="yes"'; \
|
memcached-3.4.0; \
|
||||||
pecl install redis-6.2.0 \
|
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
|
||||||
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
|
redis-6.3.0; \
|
||||||
\
|
\
|
||||||
docker-php-ext-enable \
|
docker-php-ext-enable \
|
||||||
apcu \
|
apcu \
|
||||||
@ -89,13 +88,14 @@ RUN set -ex; \
|
|||||||
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
|
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 }' \
|
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
|
||||||
| sort -u \
|
| sort -u \
|
||||||
| xargs -r dpkg-query --search \
|
| xargs -rt dpkg-query --search \
|
||||||
| cut -d: -f1 \
|
# 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 \
|
| sort -u \
|
||||||
| xargs -rt apt-mark manual; \
|
| xargs -rt apt-mark manual; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
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
|
# set recommended PHP.ini settings
|
||||||
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
|
# 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
|
VOLUME /var/www/html
|
||||||
|
|
||||||
|
|
||||||
ENV NEXTCLOUD_VERSION 30.0.13
|
ENV NEXTCLOUD_VERSION 32.0.3
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
fetchDeps=" \
|
fetchDeps=" \
|
||||||
@ -145,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.13.tar.bz2"; \
|
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://download.nextcloud.com/server/releases/nextcloud-30.0.13.tar.bz2.asc"; \
|
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)"; \
|
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; \
|
||||||
@ -160,7 +160,7 @@ RUN set -ex; \
|
|||||||
chmod +x /usr/src/nextcloud/occ; \
|
chmod +x /usr/src/nextcloud/occ; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
|
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 *.sh upgrade.exclude /
|
||||||
COPY config/* /usr/src/nextcloud/config/
|
COPY config/* /usr/src/nextcloud/config/
|
||||||
@ -31,7 +31,6 @@ RUN set -ex; \
|
|||||||
imagemagick-dev \
|
imagemagick-dev \
|
||||||
libevent-dev \
|
libevent-dev \
|
||||||
libjpeg-turbo-dev \
|
libjpeg-turbo-dev \
|
||||||
libmcrypt-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libwebp-dev \
|
libwebp-dev \
|
||||||
@ -53,7 +52,6 @@ RUN set -ex; \
|
|||||||
gmp \
|
gmp \
|
||||||
intl \
|
intl \
|
||||||
ldap \
|
ldap \
|
||||||
opcache \
|
|
||||||
pcntl \
|
pcntl \
|
||||||
pdo_mysql \
|
pdo_mysql \
|
||||||
pdo_pgsql \
|
pdo_pgsql \
|
||||||
@ -65,10 +63,10 @@ RUN set -ex; \
|
|||||||
pecl install APCu-%%APCU_VERSION%%; \
|
pecl install APCu-%%APCU_VERSION%%; \
|
||||||
pecl install igbinary-%%IGBINARY_VERSION%%; \
|
pecl install igbinary-%%IGBINARY_VERSION%%; \
|
||||||
pecl install imagick-%%IMAGICK_VERSION%%; \
|
pecl install imagick-%%IMAGICK_VERSION%%; \
|
||||||
pecl install memcached-%%MEMCACHED_VERSION%% \
|
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
|
||||||
--configureoptions 'enable-memcached-igbinary="yes"'; \
|
memcached-%%MEMCACHED_VERSION%%; \
|
||||||
pecl install redis-%%REDIS_VERSION%% \
|
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
|
||||||
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
|
redis-%%REDIS_VERSION%%; \
|
||||||
\
|
\
|
||||||
docker-php-ext-enable \
|
docker-php-ext-enable \
|
||||||
apcu \
|
apcu \
|
||||||
|
|||||||
@ -8,10 +8,10 @@ RUN set -ex; \
|
|||||||
busybox-static \
|
busybox-static \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
libldap-common \
|
libldap-common \
|
||||||
libmagickcore-6.q16-6-extra \
|
libmagickcore-7.q16-10-extra \
|
||||||
rsync \
|
rsync \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*; \
|
apt-get dist-clean; \
|
||||||
\
|
\
|
||||||
mkdir -p /var/spool/cron/crontabs; \
|
mkdir -p /var/spool/cron/crontabs; \
|
||||||
echo '*/%%CRONTAB_INT%% * * * * php -f /var/www/html/cron.php' > /var/spool/cron/crontabs/www-data
|
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 \
|
libicu-dev \
|
||||||
libjpeg-dev \
|
libjpeg-dev \
|
||||||
libldap2-dev \
|
libldap2-dev \
|
||||||
|
liblz4-dev \
|
||||||
libmagickwand-dev \
|
libmagickwand-dev \
|
||||||
libmcrypt-dev \
|
|
||||||
libmemcached-dev \
|
libmemcached-dev \
|
||||||
libpng-dev \
|
libpng-dev \
|
||||||
libpq-dev \
|
libpq-dev \
|
||||||
@ -56,7 +56,6 @@ RUN set -ex; \
|
|||||||
gmp \
|
gmp \
|
||||||
intl \
|
intl \
|
||||||
ldap \
|
ldap \
|
||||||
opcache \
|
|
||||||
pcntl \
|
pcntl \
|
||||||
pdo_mysql \
|
pdo_mysql \
|
||||||
pdo_pgsql \
|
pdo_pgsql \
|
||||||
@ -68,10 +67,10 @@ RUN set -ex; \
|
|||||||
pecl install APCu-%%APCU_VERSION%%; \
|
pecl install APCu-%%APCU_VERSION%%; \
|
||||||
pecl install igbinary-%%IGBINARY_VERSION%%; \
|
pecl install igbinary-%%IGBINARY_VERSION%%; \
|
||||||
pecl install imagick-%%IMAGICK_VERSION%%; \
|
pecl install imagick-%%IMAGICK_VERSION%%; \
|
||||||
pecl install memcached-%%MEMCACHED_VERSION%% \
|
pecl install --configureoptions 'enable-memcached-igbinary="yes"' \
|
||||||
--configureoptions 'enable-memcached-igbinary="yes"'; \
|
memcached-%%MEMCACHED_VERSION%%; \
|
||||||
pecl install redis-%%REDIS_VERSION%% \
|
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' \
|
||||||
--configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"'; \
|
redis-%%REDIS_VERSION%%; \
|
||||||
\
|
\
|
||||||
docker-php-ext-enable \
|
docker-php-ext-enable \
|
||||||
apcu \
|
apcu \
|
||||||
@ -88,13 +87,14 @@ RUN set -ex; \
|
|||||||
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
|
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 }' \
|
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' \
|
||||||
| sort -u \
|
| sort -u \
|
||||||
| xargs -r dpkg-query --search \
|
| xargs -rt dpkg-query --search \
|
||||||
| cut -d: -f1 \
|
# 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 \
|
| sort -u \
|
||||||
| xargs -rt apt-mark manual; \
|
| xargs -rt apt-mark manual; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
|
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
|
# set recommended PHP.ini settings
|
||||||
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
|
# 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; \
|
chmod +x /usr/src/nextcloud/occ; \
|
||||||
\
|
\
|
||||||
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps; \
|
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 *.sh upgrade.exclude /
|
||||||
COPY config/* /usr/src/nextcloud/config/
|
COPY config/* /usr/src/nextcloud/config/
|
||||||
|
|||||||
40
README.md
40
README.md
@ -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.
|
⚠️⚠️⚠️ 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
|
# 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.
|
This image is designed to be used in a micro-service environment. There are two versions of the image you can choose from.
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
stable_channel='31.0.7'
|
stable_channel='31.0.12'
|
||||||
|
|
||||||
self="$(basename "$BASH_SOURCE")"
|
self="$(basename "$BASH_SOURCE")"
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
31.0.7
|
32.0.3
|
||||||
|
|||||||
10
update.sh
10
update.sh
@ -2,11 +2,11 @@
|
|||||||
set -eo pipefail
|
set -eo pipefail
|
||||||
|
|
||||||
declare -A alpine_version=(
|
declare -A alpine_version=(
|
||||||
[default]='3.22'
|
[default]='3.23'
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -A debian_version=(
|
declare -A debian_version=(
|
||||||
[default]='bookworm'
|
[default]='trixie'
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -A php_version=(
|
declare -A php_version=(
|
||||||
@ -94,7 +94,7 @@ variants=(
|
|||||||
fpm-alpine
|
fpm-alpine
|
||||||
)
|
)
|
||||||
|
|
||||||
min_version='30'
|
min_version='31'
|
||||||
|
|
||||||
# version_greater_or_equal A B returns whether A >= B
|
# version_greater_or_equal A B returns whether A >= B
|
||||||
function version_greater_or_equal() {
|
function version_greater_or_equal() {
|
||||||
@ -107,8 +107,8 @@ function create_variant() {
|
|||||||
debianVersion=${debian_version[$version]-${debian_version[default]}}
|
debianVersion=${debian_version[$version]-${debian_version[default]}}
|
||||||
phpVersion=${php_version[$version]-${php_version[default]}}
|
phpVersion=${php_version[$version]-${php_version[default]}}
|
||||||
crontabInt=${crontab_int[$version]-${crontab_int[default]}}
|
crontabInt=${crontab_int[$version]-${crontab_int[default]}}
|
||||||
url="https://download.nextcloud.com/server/releases/nextcloud-$fullversion.tar.bz2"
|
url="https://github.com/nextcloud-releases/server/releases/download/v$fullversion/nextcloud-$fullversion.tar.bz2"
|
||||||
ascUrl="https://download.nextcloud.com/server/releases/nextcloud-$fullversion.tar.bz2.asc"
|
ascUrl="https://github.com/nextcloud-releases/server/releases/download/v$fullversion/nextcloud-$fullversion.tar.bz2.asc"
|
||||||
|
|
||||||
# Create the version+variant directory with a Dockerfile.
|
# Create the version+variant directory with a Dockerfile.
|
||||||
mkdir -p "$dir"
|
mkdir -p "$dir"
|
||||||
|
|||||||
@ -1,52 +1,52 @@
|
|||||||
{
|
{
|
||||||
|
"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": "trixie",
|
||||||
|
"phpVersion": "8.3"
|
||||||
|
},
|
||||||
|
"fpm": {
|
||||||
|
"variant": "fpm",
|
||||||
|
"base": "debian",
|
||||||
|
"baseVersion": "trixie",
|
||||||
|
"phpVersion": "8.3"
|
||||||
|
},
|
||||||
|
"fpm-alpine": {
|
||||||
|
"variant": "fpm-alpine",
|
||||||
|
"base": "alpine",
|
||||||
|
"baseVersion": "3.23",
|
||||||
|
"phpVersion": "8.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"31": {
|
"31": {
|
||||||
"branch": "31",
|
"branch": "31",
|
||||||
"version": "31.0.7",
|
"version": "31.0.12",
|
||||||
"url": "https://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2",
|
"url": "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2",
|
||||||
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-31.0.7.tar.bz2.asc",
|
"ascUrl": "https://github.com/nextcloud-releases/server/releases/download/v31.0.12/nextcloud-31.0.12.tar.bz2.asc",
|
||||||
"variants": {
|
"variants": {
|
||||||
"apache": {
|
"apache": {
|
||||||
"variant": "apache",
|
"variant": "apache",
|
||||||
"base": "debian",
|
"base": "debian",
|
||||||
"baseVersion": "bookworm",
|
"baseVersion": "trixie",
|
||||||
"phpVersion": "8.3"
|
"phpVersion": "8.3"
|
||||||
},
|
},
|
||||||
"fpm": {
|
"fpm": {
|
||||||
"variant": "fpm",
|
"variant": "fpm",
|
||||||
"base": "debian",
|
"base": "debian",
|
||||||
"baseVersion": "bookworm",
|
"baseVersion": "trixie",
|
||||||
"phpVersion": "8.3"
|
"phpVersion": "8.3"
|
||||||
},
|
},
|
||||||
"fpm-alpine": {
|
"fpm-alpine": {
|
||||||
"variant": "fpm-alpine",
|
"variant": "fpm-alpine",
|
||||||
"base": "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",
|
|
||||||
"variants": {
|
|
||||||
"apache": {
|
|
||||||
"variant": "apache",
|
|
||||||
"base": "debian",
|
|
||||||
"baseVersion": "bookworm",
|
|
||||||
"phpVersion": "8.3"
|
|
||||||
},
|
|
||||||
"fpm": {
|
|
||||||
"variant": "fpm",
|
|
||||||
"base": "debian",
|
|
||||||
"baseVersion": "bookworm",
|
|
||||||
"phpVersion": "8.3"
|
|
||||||
},
|
|
||||||
"fpm-alpine": {
|
|
||||||
"variant": "fpm-alpine",
|
|
||||||
"base": "alpine",
|
|
||||||
"baseVersion": "3.22",
|
|
||||||
"phpVersion": "8.3"
|
"phpVersion": "8.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user