discourse_docker/image/base/install-redis

42 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
set -e
# version check: https://redis.io/
REDIS_VERSION=7.0.15
REDIS_HASH="98066f5363504b26c34dd20fbcc3c957990d764cdf42576c836fc021073f4341"
cd /tmp
# Prepare Redis source.
wget -q http://download.redis.io/releases/redis-$REDIS_VERSION.tar.gz
sha256sum redis-$REDIS_VERSION.tar.gz
echo "$REDIS_HASH redis-$REDIS_VERSION.tar.gz" | sha256sum -c
tar zxf redis-$REDIS_VERSION.tar.gz
cd redis-$REDIS_VERSION
# aarch64 compatibility
if uname -m | grep -qi 'aarch64'; then
export JEMALLOC_CONFIGURE_OPTS="--with-lg-page=16"
fi
# Building and installing binaries.
make -j"$(nproc)" BUILD_TLS=yes && make install PREFIX=/usr
# Add `redis` user and group.
adduser --system --home /var/lib/redis --quiet --group redis || true
# Configure Redis.
mkdir -p /etc/redis
mkdir -p /var/lib/redis
mkdir -p /var/log/redis
cp /tmp/redis-$REDIS_VERSION/redis.conf /etc/redis
chown -R redis:redis /var/lib/redis
chmod 750 /var/lib/redis
chown -R redis:redis /var/log/redis
chmod 750 /var/log/redis
# Clean up.
cd / && rm -rf /tmp/redis*