37 lines
862 B
Bash
37 lines
862 B
Bash
#!/bin/sh
|
|
|
|
LOCKFILE="/redis-lock/redis-cluster-init.lock"
|
|
|
|
# Start Redis server in the background
|
|
redis-server /usr/local/etc/redis/redis.conf &
|
|
|
|
# Wait for Redis server to start
|
|
sleep 5
|
|
|
|
# Only initialize the cluster if the lock file doesn't exist
|
|
if [ ! -f "$LOCKFILE" ]; then
|
|
echo "Initializing Redis Cluster..."
|
|
|
|
# Create lock file to prevent further initialization attempts
|
|
touch "$LOCKFILE"
|
|
if [ $? -eq 0 ]; then
|
|
echo "Lock file created successfully at $LOCKFILE."
|
|
else
|
|
echo "Failed to create lock file."
|
|
fi
|
|
|
|
# Initialize the Redis cluster
|
|
yes yes | redis-cli --cluster create \
|
|
redis-node-1:6379 \
|
|
redis-node-2:6379 \
|
|
redis-node-3:6379 \
|
|
--cluster-replicas 0
|
|
|
|
echo "Redis Cluster initialized."
|
|
else
|
|
echo "Cluster already initialized, skipping initialization."
|
|
fi
|
|
|
|
# Keep the container running
|
|
tail -f /dev/null
|