diff options
author | Tortue Torche <tortuetorche@users.noreply.github.com> | 2020-01-11 00:38:38 +0100 |
---|---|---|
committer | J0WI <J0WI@users.noreply.github.com> | 2020-01-10 23:38:38 +0000 |
commit | d9ab30a96982c4c86e65aa4ae0637c3d37f87bf5 (patch) | |
tree | c67095c8b616fd7293a5f5fe0ab08912ab6a8c1d /17.0 | |
parent | b3f71af495124432776515f86da6719ade0df3b3 (diff) |
Fix Redis Unix socket support (#944)
* Fix Redis Unix socket support
Rebase and rewrite the @epma01 pull request, based on last Nextcloud Docker changes
See: https://github.com/nextcloud/docker/pull/735
Signed-off-by: Tortue Torche <tortuetorche@users.noreply.github.com>
* Fix CI tests with update.sh script
Signed-off-by: Tortue Torche <tortuetorche@users.noreply.github.com>
Diffstat (limited to '17.0')
-rw-r--r-- | 17.0/apache/config/redis.config.php | 8 | ||||
-rwxr-xr-x | 17.0/apache/entrypoint.sh | 9 | ||||
-rw-r--r-- | 17.0/fpm-alpine/config/redis.config.php | 8 | ||||
-rwxr-xr-x | 17.0/fpm-alpine/entrypoint.sh | 9 | ||||
-rw-r--r-- | 17.0/fpm/config/redis.config.php | 8 | ||||
-rwxr-xr-x | 17.0/fpm/entrypoint.sh | 9 |
6 files changed, 42 insertions, 9 deletions
diff --git a/17.0/apache/config/redis.config.php b/17.0/apache/config/redis.config.php index 19676160..9429c901 100644 --- a/17.0/apache/config/redis.config.php +++ b/17.0/apache/config/redis.config.php @@ -5,9 +5,13 @@ if (getenv('REDIS_HOST')) { 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => getenv('REDIS_HOST'), - 'port' => getenv('REDIS_HOST_PORT') ?: 6379, 'password' => getenv('REDIS_HOST_PASSWORD'), ), ); -} + if (getenv('REDIS_HOST_PORT') !== false) { + $CONFIG['redis']['port'] = (int) getenv('REDIS_HOST_PORT'); + } elseif (getenv('REDIS_HOST')[0] != '/') { + $CONFIG['redis']['port'] = 6379; + } +} diff --git a/17.0/apache/entrypoint.sh b/17.0/apache/entrypoint.sh index 9514d881..0104bab6 100755 --- a/17.0/apache/entrypoint.sh +++ b/17.0/apache/entrypoint.sh @@ -25,8 +25,15 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP echo "Configuring Redis as session handler" { echo 'session.save_handler = redis' + # 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}\"" + else + echo "session.save_path = \"unix://${REDIS_HOST}\"" + fi # check if redis password has been set - if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then + elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\"" else echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\"" diff --git a/17.0/fpm-alpine/config/redis.config.php b/17.0/fpm-alpine/config/redis.config.php index 19676160..9429c901 100644 --- a/17.0/fpm-alpine/config/redis.config.php +++ b/17.0/fpm-alpine/config/redis.config.php @@ -5,9 +5,13 @@ if (getenv('REDIS_HOST')) { 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => getenv('REDIS_HOST'), - 'port' => getenv('REDIS_HOST_PORT') ?: 6379, 'password' => getenv('REDIS_HOST_PASSWORD'), ), ); -} + if (getenv('REDIS_HOST_PORT') !== false) { + $CONFIG['redis']['port'] = (int) getenv('REDIS_HOST_PORT'); + } elseif (getenv('REDIS_HOST')[0] != '/') { + $CONFIG['redis']['port'] = 6379; + } +} diff --git a/17.0/fpm-alpine/entrypoint.sh b/17.0/fpm-alpine/entrypoint.sh index 9514d881..0104bab6 100755 --- a/17.0/fpm-alpine/entrypoint.sh +++ b/17.0/fpm-alpine/entrypoint.sh @@ -25,8 +25,15 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP echo "Configuring Redis as session handler" { echo 'session.save_handler = redis' + # 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}\"" + else + echo "session.save_path = \"unix://${REDIS_HOST}\"" + fi # check if redis password has been set - if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then + elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\"" else echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\"" diff --git a/17.0/fpm/config/redis.config.php b/17.0/fpm/config/redis.config.php index 19676160..9429c901 100644 --- a/17.0/fpm/config/redis.config.php +++ b/17.0/fpm/config/redis.config.php @@ -5,9 +5,13 @@ if (getenv('REDIS_HOST')) { 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => getenv('REDIS_HOST'), - 'port' => getenv('REDIS_HOST_PORT') ?: 6379, 'password' => getenv('REDIS_HOST_PASSWORD'), ), ); -} + if (getenv('REDIS_HOST_PORT') !== false) { + $CONFIG['redis']['port'] = (int) getenv('REDIS_HOST_PORT'); + } elseif (getenv('REDIS_HOST')[0] != '/') { + $CONFIG['redis']['port'] = 6379; + } +} diff --git a/17.0/fpm/entrypoint.sh b/17.0/fpm/entrypoint.sh index 9514d881..0104bab6 100755 --- a/17.0/fpm/entrypoint.sh +++ b/17.0/fpm/entrypoint.sh @@ -25,8 +25,15 @@ if expr "$1" : "apache" 1>/dev/null || [ "$1" = "php-fpm" ] || [ "${NEXTCLOUD_UP echo "Configuring Redis as session handler" { echo 'session.save_handler = redis' + # 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}\"" + else + echo "session.save_path = \"unix://${REDIS_HOST}\"" + fi # check if redis password has been set - if [ -n "${REDIS_HOST_PASSWORD+x}" ]; then + elif [ -n "${REDIS_HOST_PASSWORD+x}" ]; then echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}?auth=${REDIS_HOST_PASSWORD}\"" else echo "session.save_path = \"tcp://${REDIS_HOST}:${REDIS_HOST_PORT:=6379}\"" |