0
0
Fork 0
mirror of https://github.com/nextcloud/docker.git synced 2025-07-19 22:08:06 +02:00

Compare commits

...

3 commits

Author SHA1 Message Date
Nick Martin
dc28844395
Merge 636325dd28 into 4daafc8d20 2025-02-20 03:48:19 +00:00
Nick Martin
636325dd28
Merge branch 'nextcloud:master' into master 2025-02-19 19:48:17 -08:00
Nick Martin
f756178d10 Allow REDIS_CLUSTER environment variable to use Redis in cluster mode
Signed-off-by: Nick Martin <284356+n1mmy@users.noreply.github.com>
Signed-off-by: Nick Martin <nim@lock-the-door.lan>
2025-02-08 08:18:43 -08:00
2 changed files with 24 additions and 0 deletions

View file

@ -239,6 +239,10 @@ To use Redis for memory caching as well as PHP session storage, specify the foll
- `REDIS_HOST_USER` (not set by default) Optional username for Redis, only use for external Redis servers that require a user.
- `REDIS_HOST_PASSWORD` (not set by default) Redis password
To use Redis in cluster mode, you can use
- `REDIS_CLUSTER` (not set by default) Name and port number of a redis host.
Check the [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/caching_configuration.html) for more information.
### E-mail (SMTP) Configuration

View file

@ -132,6 +132,26 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP
} > /usr/local/etc/php/conf.d/redis-session.ini
fi
if [ -n "${REDIS_CLUSTER+x}" ]; then
echo "Configuring Rediscluster as session handler"
{
file_env REDIS_HOST_PASSWORD
echo 'session.save_handler = rediscluster'
# check if redis password has been set
if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then
echo "session.save_path = \"seed[]=${REDIS_CLUSTER}&auth=${REDIS_HOST_PASSWORD}\""
else
echo "session.save_path = \"seed[]=${REDIS_CLUSTER}\""
fi
echo "redis.session.locking_enabled = 1"
echo "redis.session.lock_retries = -1"
# redis.session.lock_wait_time is specified in microseconds.
# Wait 10ms before retrying the lock rather than the default 2ms.
echo "redis.session.lock_wait_time = 10000"
} > /usr/local/etc/php/conf.d/redis-session.ini
fi
# If another process is syncing the html folder, wait for
# it to be done, then escape initalization.
(