20 lines
651 B
Bash
20 lines
651 B
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
for name in REDIS_API_PASSWORD REDIS_SAFETY_PASSWORD REDIS_HEALTH_PASSWORD; do
|
|
eval "value=\${$name:-}"
|
|
if [ "${#value}" -lt 16 ] || printf '%s' "$value" | grep -Eq '[[:space:]]'; then
|
|
echo "redis bootstrap: $name must be at least 16 characters without whitespace" >&2
|
|
exit 64
|
|
fi
|
|
done
|
|
|
|
umask 077
|
|
envsubst '${REDIS_API_PASSWORD} ${REDIS_SAFETY_PASSWORD} ${REDIS_HEALTH_PASSWORD}' \
|
|
< /etc/han-redis/users.acl.template > /tmp/users.acl
|
|
|
|
exec redis-server /etc/han-redis/redis.conf \
|
|
--aclfile /tmp/users.acl \
|
|
--maxmemory "${REDIS_MAXMEMORY:-384mb}" \
|
|
--maxmemory-policy "${REDIS_EVICTION_POLICY:-volatile-lru}"
|