Complete Redis installation guide for all platforms - Linux, macOS, Docker, and cloud deployments with configuration templates
Provides complete Redis installation commands for Linux, macOS, Docker, and Kubernetes with verification checks. Triggers when users need to install Redis or troubleshoot installation issues.
/plugin marketplace add pluginagentmarketplace/custom-plugin-redis/plugin install pluginagentmarketplace-developer-roadmap-interactive@pluginagentmarketplace/custom-plugin-redisThis skill inherits all available tools. When active, it can use any tool Claude has access to.
assets/config.yamlassets/docker-compose.ymlassets/redis.confreferences/GUIDE.mdreferences/INSTALLATION_GUIDE.mdreferences/TROUBLESHOOTING.mdscripts/helper.pyscripts/install-redis.shscripts/verify-installation.shProduction-grade installation skill for Redis across all major platforms with automated verification and configuration validation.
# Update and install
sudo apt update
sudo apt install redis-server -y
# Start and enable
sudo systemctl start redis-server
sudo systemctl enable redis-server
# Verify
redis-cli ping # Returns PONG
# Install EPEL and Redis
sudo dnf install epel-release -y
sudo dnf install redis -y
# Start and enable
sudo systemctl start redis
sudo systemctl enable redis
# Install
brew install redis
# Start as service
brew services start redis
# Or run manually
redis-server /opt/homebrew/etc/redis.conf
# Simple run
docker run -d --name redis -p 6379:6379 redis:7-alpine
# With persistence
docker run -d --name redis \
-p 6379:6379 \
-v redis-data:/data \
redis:7-alpine redis-server --appendonly yes
# With custom config
docker run -d --name redis \
-p 6379:6379 \
-v $(pwd)/redis.conf:/usr/local/etc/redis/redis.conf \
redis:7-alpine redis-server /usr/local/etc/redis/redis.conf
# Add Bitnami repo
helm repo add bitnami https://charts.bitnami.com/bitnami
# Install Redis
helm install redis bitnami/redis \
--set auth.password=your-password \
--set replica.replicaCount=2
# Test connection
redis-cli ping # Expected: PONG
# Check version
redis-cli INFO server | grep redis_version
# Test basic operations
redis-cli SET test:install "success"
redis-cli GET test:install
redis-cli DEL test:install
# Check config
redis-cli CONFIG GET dir
redis-cli CONFIG GET port
# /etc/redis/redis.conf - Production Basics
# Network
bind 127.0.0.1
port 6379
protected-mode yes
# Memory
maxmemory 256mb
maxmemory-policy allkeys-lru
# Persistence
appendonly yes
appendfsync everysec
# Security
requirepass your-strong-password
docker-compose.yml - Production Docker setupredis.conf - Optimized configuration templateinstall-redis.sh - Cross-platform installation scriptverify-installation.sh - Health check scriptINSTALLATION_GUIDE.md - Detailed installation stepsTROUBLESHOOTING.md - Common issues and solutionsE: Unable to locate package redis-server
Fix:
# Ubuntu - add official repo
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt update
Could not create server TCP listening socket: bind: Address already in use
Diagnosis:
# Check what's using port 6379
sudo lsof -i :6379
sudo netstat -tlnp | grep 6379
Fix:
# Kill existing process
sudo kill $(sudo lsof -t -i:6379)
# Or change port in redis.conf
port 6380
Can't open the log file: Permission denied
Fix:
# Fix ownership
sudo chown -R redis:redis /var/lib/redis
sudo chown -R redis:redis /var/log/redis
# Fix permissions
sudo chmod 750 /var/lib/redis
# WARNING overcommit_memory is set to 0!
Fix:
# Temporary
echo 1 > /proc/sys/vm/overcommit_memory
# Permanent
echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf
sysctl -p
#!/bin/bash
# verify-redis-installation.sh
echo "=== Redis Installation Verification ==="
# Check if redis-server is running
echo -n "Redis server running: "
if pgrep -x "redis-server" > /dev/null; then
echo "✓ YES"
else
echo "✗ NO"
exit 1
fi
# Check PING response
echo -n "Redis responds to PING: "
if redis-cli ping 2>/dev/null | grep -q "PONG"; then
echo "✓ PONG"
else
echo "✗ FAILED"
exit 1
fi
# Check version
echo -n "Redis version: "
redis-cli INFO server 2>/dev/null | grep redis_version | cut -d: -f2
# Check persistence
echo -n "Persistence enabled: "
if redis-cli CONFIG GET appendonly 2>/dev/null | grep -q "yes"; then
echo "✓ AOF"
else
echo "RDB only or disabled"
fi
echo "=== Verification Complete ==="
□ Redis package installed?
□ Service started and enabled?
□ Correct port binding?
□ No port conflicts?
□ Correct file permissions?
□ Config file syntax valid?
□ Memory overcommit enabled?
□ Firewall allows connections?
| Code | Name | Description | Recovery |
|---|---|---|---|
| I001 | PKG_NOT_FOUND | Package not available | Add official repo |
| I002 | PORT_IN_USE | Port 6379 occupied | Kill process or change port |
| I003 | PERMISSION | Access denied | Fix ownership/permissions |
| I004 | CONFIG_INVALID | Bad config syntax | Check redis.conf |
| I005 | SERVICE_FAIL | Service won't start | Check logs |
#!/bin/bash
# test-redis-installation.sh
set -e
echo "Running Redis installation tests..."
# Test 1: Server responds
test_ping() {
result=$(redis-cli ping)
[ "$result" = "PONG" ] && echo "PASS: ping" || { echo "FAIL: ping"; exit 1; }
}
# Test 2: Can write/read
test_write_read() {
redis-cli SET test:key "value" > /dev/null
result=$(redis-cli GET test:key)
redis-cli DEL test:key > /dev/null
[ "$result" = "value" ] && echo "PASS: write/read" || { echo "FAIL: write/read"; exit 1; }
}
# Test 3: Version check
test_version() {
version=$(redis-cli INFO server | grep redis_version | cut -d: -f2 | tr -d '\r')
[[ "$version" =~ ^[67]\. ]] && echo "PASS: version $version" || { echo "FAIL: version"; exit 1; }
}
test_ping
test_write_read
test_version
echo "All tests passed!"
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.