From 374495c5656727adf82509aec1a79c13f3a23bf6 Mon Sep 17 00:00:00 2001 From: janz Date: Mon, 2 Sep 2024 12:01:10 +0200 Subject: [PATCH 1/2] Adding support for configuring redis dbindex value Signed-off-by: Jan Zalar jan.zalar6@gmail.com Signed-off-by: janz --- 29/apache/config/redis.config.php | 4 ++++ README.md | 1 + 2 files changed, 5 insertions(+) diff --git a/29/apache/config/redis.config.php b/29/apache/config/redis.config.php index a5b13da6..bed36145 100644 --- a/29/apache/config/redis.config.php +++ b/29/apache/config/redis.config.php @@ -14,4 +14,8 @@ if (getenv('REDIS_HOST')) { } elseif (getenv('REDIS_HOST')[0] != '/') { $CONFIG['redis']['port'] = 6379; } + if (getenv('REDIS_DBINDEX') !== false) { + $CONFIG['redis']['dbindex'] = (int) getenv('REDIS_DBINDEX'); + } + } diff --git a/README.md b/README.md index b9f7a66d..b732f9dc 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,7 @@ If you want to use Redis you have to create a separate [Redis](https://hub.docke - `REDIS_HOST` (not set by default) Name of Redis container - `REDIS_HOST_PORT` (default: `6379`) Optional port for Redis, only use for external Redis servers that run on non-standard ports. - `REDIS_HOST_PASSWORD` (not set by default) Redis password +- `REDIS_DBINDEX`(not set by default) Value for dbindex config value The use of Redis is recommended to prevent file locking problems. See the examples for further instructions. From 9360474bc1b25198267c145c510d025ab1690217 Mon Sep 17 00:00:00 2001 From: Jan Zalar Date: Thu, 5 Sep 2024 09:20:33 +0200 Subject: [PATCH 2/2] Adding REDIS_DB_INDEX configuration to session locking aswell. Changing naming convetion to match others Signed-off-by: Jan Zalar --- 29/apache/Dockerfile | 1 + 29/apache/config/redis.config.php | 4 ++-- README.md | 2 +- docker-entrypoint.sh | 8 ++++---- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/29/apache/Dockerfile b/29/apache/Dockerfile index b311cfbe..d86c35e9 100644 --- a/29/apache/Dockerfile +++ b/29/apache/Dockerfile @@ -21,6 +21,7 @@ RUN set -ex; \ # see https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html ENV PHP_MEMORY_LIMIT 512M ENV PHP_UPLOAD_LIMIT 512M +ENV REDIS_DB_INDEX=0 RUN set -ex; \ \ savedAptMark="$(apt-mark showmanual)"; \ diff --git a/29/apache/config/redis.config.php b/29/apache/config/redis.config.php index bed36145..47a43dff 100644 --- a/29/apache/config/redis.config.php +++ b/29/apache/config/redis.config.php @@ -14,8 +14,8 @@ if (getenv('REDIS_HOST')) { } elseif (getenv('REDIS_HOST')[0] != '/') { $CONFIG['redis']['port'] = 6379; } - if (getenv('REDIS_DBINDEX') !== false) { - $CONFIG['redis']['dbindex'] = (int) getenv('REDIS_DBINDEX'); + if (getenv('REDIS_DB_INDEX') !== false) { + $CONFIG['redis']['dbindex'] = (int) getenv('REDIS_DB_INDEX'); } } diff --git a/README.md b/README.md index b732f9dc..cacb06f1 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ If you want to use Redis you have to create a separate [Redis](https://hub.docke - `REDIS_HOST` (not set by default) Name of Redis container - `REDIS_HOST_PORT` (default: `6379`) Optional port for Redis, only use for external Redis servers that run on non-standard ports. - `REDIS_HOST_PASSWORD` (not set by default) Redis password -- `REDIS_DBINDEX`(not set by default) Value for dbindex config value +- `REDIS_DB_INDEX` (default: `0`) Value for dbindex config value The use of Redis is recommended to prevent file locking problems. See the examples for further instructions. diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 4e06fcc4..6595ad2d 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -114,15 +114,15 @@ 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}\"" + echo "session.save_path = \"unix://${REDIS_HOST}/${REDIS_DB_INDEX}?auth=${REDIS_HOST_PASSWORD}\"" else - echo "session.save_path = \"unix://${REDIS_HOST}\"" + echo "session.save_path = \"unix://${REDIS_HOST}/${REDIS_DB_INDEX}\"" 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}\"" + echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}/${REDIS_DB_INDEX}?auth=${REDIS_HOST_PASSWORD}\"" else - echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\"" + echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}/${REDIS_DB_INDEX}\"" fi echo "redis.session.locking_enabled = 1" echo "redis.session.lock_retries = -1"