mirror of
https://github.com/nextcloud/docker.git
synced 2025-07-17 21:28:05 +02:00
Compare commits
13 commits
149996015e
...
7a40fd5853
Author | SHA1 | Date | |
---|---|---|---|
|
7a40fd5853 | ||
|
645f515e29 | ||
|
a19d68f081 | ||
|
f130178136 | ||
|
f3e0c49c38 | ||
|
b36cfa65da | ||
|
6e8f484c4b | ||
|
43311addf2 | ||
|
558ff494d3 | ||
|
7832770350 | ||
|
a2995dde03 | ||
|
88ef913597 | ||
|
fd43b6408c |
31 changed files with 408 additions and 406 deletions
|
@ -10,6 +10,7 @@ events {
|
|||
|
||||
|
||||
http {
|
||||
resolver 127.0.0.11 valid=1s;
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
types {
|
||||
|
@ -39,12 +40,9 @@ http {
|
|||
|
||||
#gzip on;
|
||||
|
||||
upstream php-handler {
|
||||
server app:9000;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
set $php_handler app:9000;
|
||||
|
||||
# HSTS settings
|
||||
# WARNING: Only add the preload option once you read about
|
||||
|
@ -158,7 +156,7 @@ http {
|
|||
|
||||
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
||||
fastcgi_param front_controller_active true; # Enable pretty urls
|
||||
fastcgi_pass php-handler;
|
||||
fastcgi_pass $php_handler;
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
|
|
|
@ -10,6 +10,7 @@ events {
|
|||
|
||||
|
||||
http {
|
||||
resolver 127.0.0.11 valid=1s;
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
types {
|
||||
|
@ -39,12 +40,9 @@ http {
|
|||
|
||||
#gzip on;
|
||||
|
||||
upstream php-handler {
|
||||
server app:9000;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
set $php_handler app:9000;
|
||||
|
||||
# HSTS settings
|
||||
# WARNING: Only add the preload option once you read about
|
||||
|
@ -158,7 +156,7 @@ http {
|
|||
|
||||
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
||||
fastcgi_param front_controller_active true; # Enable pretty urls
|
||||
fastcgi_pass php-handler;
|
||||
fastcgi_pass $php_handler;
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
|
|
|
@ -10,6 +10,7 @@ events {
|
|||
|
||||
|
||||
http {
|
||||
resolver 127.0.0.11 valid=1s;
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
types {
|
||||
|
@ -39,12 +40,9 @@ http {
|
|||
|
||||
#gzip on;
|
||||
|
||||
upstream php-handler {
|
||||
server app:9000;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
set $php_handler app:9000;
|
||||
|
||||
# HSTS settings
|
||||
# WARNING: Only add the preload option once you read about
|
||||
|
@ -158,7 +156,7 @@ http {
|
|||
|
||||
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
||||
fastcgi_param front_controller_active true; # Enable pretty urls
|
||||
fastcgi_pass php-handler;
|
||||
fastcgi_pass $php_handler;
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
|
|
|
@ -10,6 +10,7 @@ events {
|
|||
|
||||
|
||||
http {
|
||||
resolver 127.0.0.11 valid=1s;
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
types {
|
||||
|
@ -39,12 +40,9 @@ http {
|
|||
|
||||
#gzip on;
|
||||
|
||||
upstream php-handler {
|
||||
server app:9000;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
set $php_handler app:9000;
|
||||
|
||||
# HSTS settings
|
||||
# WARNING: Only add the preload option once you read about
|
||||
|
@ -158,7 +156,7 @@ http {
|
|||
|
||||
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
||||
fastcgi_param front_controller_active true; # Enable pretty urls
|
||||
fastcgi_pass php-handler;
|
||||
fastcgi_pass $php_handler;
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
name: 🐛 Image issue
|
||||
about: Issues related to the Nextcloud Docker image
|
||||
name: 🐛 Report a bug in the image
|
||||
about: Create a report to help us improve the image
|
||||
labels: "bug, 0. Needs triage"
|
||||
---
|
||||
|
||||
<!--
|
15
.github/ISSUE_TEMPLATE/02-Image_enhancement
vendored
Normal file
15
.github/ISSUE_TEMPLATE/02-Image_enhancement
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
name: 🚀 Suggest an enhancement
|
||||
about: Suggest an idea for improving the image
|
||||
labels: "enhancement, 0. Needs triage"
|
||||
---
|
||||
|
||||
<!--
|
||||
Thanks for suggesting an idea to improve the Nextcloud Docker image!
|
||||
|
||||
This image is maintained by volunteers so if you're able to assist with implementing your idea, please mention that (and consider submitting a PR as well).
|
||||
|
||||
Note: This is the issue tracker of the official Nextcloud **Docker image**, please do NOT use this to suggestion enhancements in Nextcloud Server itself.
|
||||
|
||||
To learn more about official images, see https://github.com/docker-library/faq
|
||||
-->
|
|
@ -1,9 +1,6 @@
|
|||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
||||
FROM php:8.2-apache-bookworm
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
@ -68,23 +65,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# 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 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 \
|
||||
|
@ -166,7 +150,7 @@ RUN { \
|
|||
} > /etc/apache2/conf-available/apache-limits.conf; \
|
||||
a2enconf apache-limits
|
||||
|
||||
ENV NEXTCLOUD_VERSION 29.0.15
|
||||
ENV NEXTCLOUD_VERSION 29.0.16
|
||||
|
||||
RUN set -ex; \
|
||||
fetchDeps=" \
|
||||
|
@ -176,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-29.0.15.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2.asc"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.16.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.16.tar.bz2.asc"; \
|
||||
export GNUPGHOME="$(mktemp -d)"; \
|
||||
# gpg key from https://nextcloud.com/nextcloud.asc
|
||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
|
||||
FROM php:8.2-fpm-alpine3.21
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
@ -65,23 +62,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# 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 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 \
|
||||
|
@ -146,7 +130,7 @@ RUN { \
|
|||
VOLUME /var/www/html
|
||||
|
||||
|
||||
ENV NEXTCLOUD_VERSION 29.0.15
|
||||
ENV NEXTCLOUD_VERSION 29.0.16
|
||||
|
||||
RUN set -ex; \
|
||||
apk add --no-cache --virtual .fetch-deps \
|
||||
|
@ -154,8 +138,8 @@ RUN set -ex; \
|
|||
gnupg \
|
||||
; \
|
||||
\
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2.asc"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.16.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.16.tar.bz2.asc"; \
|
||||
export GNUPGHOME="$(mktemp -d)"; \
|
||||
# gpg key from https://nextcloud.com/nextcloud.asc
|
||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
||||
FROM php:8.2-fpm-bookworm
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
@ -68,23 +65,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# 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 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 \
|
||||
|
@ -151,7 +135,7 @@ RUN { \
|
|||
VOLUME /var/www/html
|
||||
|
||||
|
||||
ENV NEXTCLOUD_VERSION 29.0.15
|
||||
ENV NEXTCLOUD_VERSION 29.0.16
|
||||
|
||||
RUN set -ex; \
|
||||
fetchDeps=" \
|
||||
|
@ -161,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-29.0.15.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2.asc"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-29.0.16.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-29.0.16.tar.bz2.asc"; \
|
||||
export GNUPGHOME="$(mktemp -d)"; \
|
||||
# gpg key from https://nextcloud.com/nextcloud.asc
|
||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
||||
FROM php:8.2-apache-bookworm
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
FROM php:8.3-apache-bookworm
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
|
@ -68,23 +65,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# 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 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 \
|
||||
|
@ -166,7 +150,7 @@ RUN { \
|
|||
} > /etc/apache2/conf-available/apache-limits.conf; \
|
||||
a2enconf apache-limits
|
||||
|
||||
ENV NEXTCLOUD_VERSION 30.0.9
|
||||
ENV NEXTCLOUD_VERSION 30.0.10
|
||||
|
||||
RUN set -ex; \
|
||||
fetchDeps=" \
|
||||
|
@ -176,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.9.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2.asc"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.10.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.10.tar.bz2.asc"; \
|
||||
export GNUPGHOME="$(mktemp -d)"; \
|
||||
# gpg key from https://nextcloud.com/nextcloud.asc
|
||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
|
||||
FROM php:8.2-fpm-alpine3.21
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
FROM php:8.3-fpm-alpine3.21
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
|
@ -65,23 +62,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# 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 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 \
|
||||
|
@ -146,7 +130,7 @@ RUN { \
|
|||
VOLUME /var/www/html
|
||||
|
||||
|
||||
ENV NEXTCLOUD_VERSION 30.0.9
|
||||
ENV NEXTCLOUD_VERSION 30.0.10
|
||||
|
||||
RUN set -ex; \
|
||||
apk add --no-cache --virtual .fetch-deps \
|
||||
|
@ -154,8 +138,8 @@ RUN set -ex; \
|
|||
gnupg \
|
||||
; \
|
||||
\
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2.asc"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.10.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.10.tar.bz2.asc"; \
|
||||
export GNUPGHOME="$(mktemp -d)"; \
|
||||
# gpg key from https://nextcloud.com/nextcloud.asc
|
||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
||||
FROM php:8.2-fpm-bookworm
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
FROM php:8.3-fpm-bookworm
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
|
@ -68,23 +65,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# 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 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 \
|
||||
|
@ -151,7 +135,7 @@ RUN { \
|
|||
VOLUME /var/www/html
|
||||
|
||||
|
||||
ENV NEXTCLOUD_VERSION 30.0.9
|
||||
ENV NEXTCLOUD_VERSION 30.0.10
|
||||
|
||||
RUN set -ex; \
|
||||
fetchDeps=" \
|
||||
|
@ -161,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.9.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2.asc"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-30.0.10.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-30.0.10.tar.bz2.asc"; \
|
||||
export GNUPGHOME="$(mktemp -d)"; \
|
||||
# gpg key from https://nextcloud.com/nextcloud.asc
|
||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
||||
FROM php:8.3-apache-bookworm
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
@ -68,23 +65,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# 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 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 \
|
||||
|
@ -166,7 +150,7 @@ RUN { \
|
|||
} > /etc/apache2/conf-available/apache-limits.conf; \
|
||||
a2enconf apache-limits
|
||||
|
||||
ENV NEXTCLOUD_VERSION 31.0.3
|
||||
ENV NEXTCLOUD_VERSION 31.0.4
|
||||
|
||||
RUN set -ex; \
|
||||
fetchDeps=" \
|
||||
|
@ -176,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.3.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2.asc"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.4.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.4.tar.bz2.asc"; \
|
||||
export GNUPGHOME="$(mktemp -d)"; \
|
||||
# gpg key from https://nextcloud.com/nextcloud.asc
|
||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
|
||||
FROM php:8.3-fpm-alpine3.21
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
@ -65,23 +62,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# 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 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 \
|
||||
|
@ -146,7 +130,7 @@ RUN { \
|
|||
VOLUME /var/www/html
|
||||
|
||||
|
||||
ENV NEXTCLOUD_VERSION 31.0.3
|
||||
ENV NEXTCLOUD_VERSION 31.0.4
|
||||
|
||||
RUN set -ex; \
|
||||
apk add --no-cache --virtual .fetch-deps \
|
||||
|
@ -154,8 +138,8 @@ RUN set -ex; \
|
|||
gnupg \
|
||||
; \
|
||||
\
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2.asc"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.4.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.4.tar.bz2.asc"; \
|
||||
export GNUPGHOME="$(mktemp -d)"; \
|
||||
# gpg key from https://nextcloud.com/nextcloud.asc
|
||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
|
||||
FROM php:8.3-fpm-bookworm
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
@ -68,23 +65,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# 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 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 \
|
||||
|
@ -151,7 +135,7 @@ RUN { \
|
|||
VOLUME /var/www/html
|
||||
|
||||
|
||||
ENV NEXTCLOUD_VERSION 31.0.3
|
||||
ENV NEXTCLOUD_VERSION 31.0.4
|
||||
|
||||
RUN set -ex; \
|
||||
fetchDeps=" \
|
||||
|
@ -161,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.3.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2.asc"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-31.0.4.tar.bz2"; \
|
||||
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-31.0.4.tar.bz2.asc"; \
|
||||
export GNUPGHOME="$(mktemp -d)"; \
|
||||
# gpg key from https://nextcloud.com/nextcloud.asc
|
||||
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
FROM php:%%PHP_VERSION%%-%%VARIANT%%%%ALPINE_VERSION%%
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
@ -64,23 +61,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||
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%% \
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
FROM php:%%PHP_VERSION%%-%%VARIANT%%-%%DEBIAN_VERSION%%
|
||||
|
||||
# Define the commit hash for imagick as a variable
|
||||
ENV IMAGICK_COMMIT_HASH d7d3c24af1b4f599897408f1714600b69a56473b
|
||||
|
||||
# entrypoint.sh and cron.sh dependencies
|
||||
RUN set -ex; \
|
||||
\
|
||||
|
@ -67,23 +64,10 @@ RUN set -ex; \
|
|||
zip \
|
||||
; \
|
||||
\
|
||||
# The master version on the imagick repository is compatible with PHP 8.3. However, the PECL version is not updated yet.
|
||||
# As soon as it will get updated, we can switch back to the PECL version, instead of having this workaround.
|
||||
curl -fsSL -o imagick.tar.gz "https://github.com/Imagick/imagick/archive/$IMAGICK_COMMIT_HASH.tar.gz"; \
|
||||
tar -xzf imagick.tar.gz -C /tmp; \
|
||||
rm imagick.tar.gz; \
|
||||
cd "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
sed -i "s/@PACKAGE_VERSION@/git-$(echo ${IMAGICK_COMMIT_HASH} | cut -c 1-7)/" php_imagick.h; \
|
||||
phpize; \
|
||||
./configure; \
|
||||
make; \
|
||||
make install; \
|
||||
cd; \
|
||||
rm -r "/tmp/imagick-$IMAGICK_COMMIT_HASH"; \
|
||||
\
|
||||
# pecl will claim success even if one install fails, so we need to perform each install separately
|
||||
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%% \
|
||||
|
|
|
@ -23,32 +23,39 @@ run_as() {
|
|||
run_path() {
|
||||
local hook_folder_path="/docker-entrypoint-hooks.d/$1"
|
||||
local return_code=0
|
||||
local found=0
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ]; then
|
||||
echo "=> Skipping the folder \"${hook_folder_path}\", because it doesn't exist"
|
||||
echo "=> Searching for hook scripts (*.sh) to run, located in the folder \"${hook_folder_path}\""
|
||||
|
||||
if ! [ -d "${hook_folder_path}" ] || directory_empty "${hook_folder_path}"; then
|
||||
echo "==> Skipped: the \"$1\" folder is empty (or does not exist)"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "=> Searching for scripts (*.sh) to run, located in the folder: ${hook_folder_path}"
|
||||
|
||||
(
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | while read -r script_file_path; do
|
||||
find "${hook_folder_path}" -maxdepth 1 -iname '*.sh' '(' -type f -o -type l ')' -print | sort | (
|
||||
while read -r script_file_path; do
|
||||
if ! [ -x "${script_file_path}" ]; then
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it didn't have the executable flag"
|
||||
echo "==> The script \"${script_file_path}\" was skipped, because it lacks the executable flag"
|
||||
found=$((found-1))
|
||||
continue
|
||||
fi
|
||||
|
||||
echo "==> Running the script (cwd: $(pwd)): \"${script_file_path}\""
|
||||
|
||||
found=$((found+1))
|
||||
run_as "${script_file_path}" || return_code="$?"
|
||||
|
||||
if [ "${return_code}" -ne "0" ]; then
|
||||
echo "==> Failed at executing \"${script_file_path}\". Exit code: ${return_code}"
|
||||
echo "==> Failed at executing script \"${script_file_path}\". Exit code: ${return_code}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finished the script: \"${script_file_path}\""
|
||||
echo "==> Finished executing the script: \"${script_file_path}\""
|
||||
done
|
||||
if [ "$found" -lt "1" ]; then
|
||||
echo "==> Skipped: the \"$1\" folder does not contain any valid scripts"
|
||||
else
|
||||
echo "=> Completed executing scripts in the \"$1\" folder"
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -114,13 +121,21 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
# check if redis host is an unix socket path
|
||||
if [ "$(echo "$REDIS_HOST" | cut -c1-1)" = "/" ]; then
|
||||
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"unix://${REDIS_HOST}\""
|
||||
fi
|
||||
# check if redis password has been set
|
||||
elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
if [ -n "${REDIS_HOST_USER+x}" ]; then
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth[]=${REDIS_HOST_USER}&auth[]=${REDIS_HOST_PASSWORD}\""
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\""
|
||||
fi
|
||||
else
|
||||
echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\""
|
||||
fi
|
||||
|
@ -237,12 +252,14 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
|
|||
fi
|
||||
if [ -n "${NEXTCLOUD_TRUSTED_DOMAINS+x}" ]; then
|
||||
echo "Setting trusted domains…"
|
||||
set -f # turn off glob
|
||||
NC_TRUSTED_DOMAIN_IDX=1
|
||||
for DOMAIN in $NEXTCLOUD_TRUSTED_DOMAINS ; do
|
||||
DOMAIN=$(echo "$DOMAIN" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=$DOMAIN"
|
||||
for DOMAIN in ${NEXTCLOUD_TRUSTED_DOMAINS}; do
|
||||
DOMAIN=$(echo "${DOMAIN}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
|
||||
run_as "php /var/www/html/occ config:system:set trusted_domains $NC_TRUSTED_DOMAIN_IDX --value=\"${DOMAIN}\""
|
||||
NC_TRUSTED_DOMAIN_IDX=$((NC_TRUSTED_DOMAIN_IDX+1))
|
||||
done
|
||||
set +f # turn glob back on
|
||||
fi
|
||||
|
||||
run_path post-installation
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
stable_channel='30.0.9'
|
||||
stable_channel='31.0.4'
|
||||
|
||||
self="$(basename "$BASH_SOURCE")"
|
||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
||||
|
|
|
@ -1 +1 @@
|
|||
31.0.3
|
||||
31.0.4
|
||||
|
|
|
@ -10,8 +10,8 @@ declare -A debian_version=(
|
|||
)
|
||||
|
||||
declare -A php_version=(
|
||||
[default]='8.2'
|
||||
[31]='8.3'
|
||||
[29]='8.2'
|
||||
[default]='8.3'
|
||||
)
|
||||
|
||||
declare -A cmd=(
|
||||
|
@ -55,7 +55,7 @@ igbinary_version="$(
|
|||
)"
|
||||
|
||||
imagick_version="$(
|
||||
git ls-remote --tags https://github.com/mkoppanen/imagick.git \
|
||||
git ls-remote --tags https://github.com/imagick/imagick.git \
|
||||
| cut -d/ -f3 \
|
||||
| grep -viE '[a-z]' \
|
||||
| tr -d '^{}' \
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"31": {
|
||||
"branch": "31",
|
||||
"version": "31.0.3",
|
||||
"url": "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2",
|
||||
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-31.0.3.tar.bz2.asc",
|
||||
"version": "31.0.4",
|
||||
"url": "https://download.nextcloud.com/server/releases/nextcloud-31.0.4.tar.bz2",
|
||||
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-31.0.4.tar.bz2.asc",
|
||||
"variants": {
|
||||
"apache": {
|
||||
"variant": "apache",
|
||||
|
@ -27,35 +27,35 @@
|
|||
},
|
||||
"30": {
|
||||
"branch": "30",
|
||||
"version": "30.0.9",
|
||||
"url": "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2",
|
||||
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-30.0.9.tar.bz2.asc",
|
||||
"version": "30.0.10",
|
||||
"url": "https://download.nextcloud.com/server/releases/nextcloud-30.0.10.tar.bz2",
|
||||
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-30.0.10.tar.bz2.asc",
|
||||
"variants": {
|
||||
"apache": {
|
||||
"variant": "apache",
|
||||
"base": "debian",
|
||||
"baseVersion": "bookworm",
|
||||
"phpVersion": "8.2"
|
||||
"phpVersion": "8.3"
|
||||
},
|
||||
"fpm": {
|
||||
"variant": "fpm",
|
||||
"base": "debian",
|
||||
"baseVersion": "bookworm",
|
||||
"phpVersion": "8.2"
|
||||
"phpVersion": "8.3"
|
||||
},
|
||||
"fpm-alpine": {
|
||||
"variant": "fpm-alpine",
|
||||
"base": "alpine",
|
||||
"baseVersion": "3.21",
|
||||
"phpVersion": "8.2"
|
||||
"phpVersion": "8.3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"29": {
|
||||
"branch": "29",
|
||||
"version": "29.0.15",
|
||||
"url": "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2",
|
||||
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-29.0.15.tar.bz2.asc",
|
||||
"version": "29.0.16",
|
||||
"url": "https://download.nextcloud.com/server/releases/nextcloud-29.0.16.tar.bz2",
|
||||
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-29.0.16.tar.bz2.asc",
|
||||
"variants": {
|
||||
"apache": {
|
||||
"variant": "apache",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue