42 lines
1.0 KiB
Bash
Executable File
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*
|