64 lines
1.6 KiB
Bash
Raw Permalink Normal View History

2025-10-07 11:05:08 +01:00
#!/bin/bash
# Redis installation script for provisioning system
# This is a template - customize for your needs
set -euo pipefail
REDIS_VERSION="${REDIS_VERSION:-7.2.3}"
REDIS_PORT="${REDIS_PORT:-6379}"
REDIS_CONFIG_FILE="/etc/redis/redis.conf"
REDIS_LOG_DIR="/var/log/redis"
REDIS_DATA_DIR="/var/lib/redis"
echo "Installing Redis ${REDIS_VERSION}..."
# Install Redis
if command -v apt-get >/dev/null 2>&1; then
# Debian/Ubuntu
apt-get update
apt-get install -y redis-server
elif command -v yum >/dev/null 2>&1; then
# RHEL/CentOS
yum install -y redis
elif command -v dnf >/dev/null 2>&1; then
# Fedora
dnf install -y redis
else
echo "Unsupported package manager"
exit 1
fi
# Create directories
mkdir -p "${REDIS_LOG_DIR}" "${REDIS_DATA_DIR}"
chown redis:redis "${REDIS_LOG_DIR}" "${REDIS_DATA_DIR}"
# Configure Redis (basic template)
cat > "${REDIS_CONFIG_FILE}" << EOF
# Redis configuration generated by provisioning system
port ${REDIS_PORT}
bind 127.0.0.1
dir ${REDIS_DATA_DIR}
logfile ${REDIS_LOG_DIR}/redis-server.log
loglevel notice
# Memory management
maxmemory \${REDIS_MAXMEMORY:-256mb}
maxmemory-policy \${REDIS_MAXMEMORY_POLICY:-allkeys-lru}
# Persistence
save 900 1
save 300 10
save 60 10000
# Security
# requirepass \${REDIS_PASSWORD}
EOF
# Enable and start Redis
systemctl enable redis-server || systemctl enable redis
systemctl start redis-server || systemctl start redis
echo "Redis installation completed successfully!"
echo "Port: ${REDIS_PORT}"
echo "Config: ${REDIS_CONFIG_FILE}"
echo "Logs: ${REDIS_LOG_DIR}/redis-server.log"