summaryrefslogtreecommitdiff
path: root/docker/base/create_cluster.sh
diff options
context:
space:
mode:
Diffstat (limited to 'docker/base/create_cluster.sh')
-rw-r--r--docker/base/create_cluster.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/docker/base/create_cluster.sh b/docker/base/create_cluster.sh
new file mode 100644
index 0000000..82a79c8
--- /dev/null
+++ b/docker/base/create_cluster.sh
@@ -0,0 +1,26 @@
+#! /bin/bash
+mkdir -p /nodes
+touch /nodes/nodemap
+for PORT in $(seq 16379 16384); do
+ mkdir -p /nodes/$PORT
+ if [[ -e /redis.conf ]]; then
+ cp /redis.conf /nodes/$PORT/redis.conf
+ else
+ touch /nodes/$PORT/redis.conf
+ fi
+ cat << EOF >> /nodes/$PORT/redis.conf
+port ${PORT}
+cluster-enabled yes
+daemonize yes
+logfile /redis.log
+dir /nodes/$PORT
+EOF
+ redis-server /nodes/$PORT/redis.conf
+ if [ $? -ne 0 ]; then
+ echo "Redis failed to start, exiting."
+ exit 3
+ fi
+ echo 127.0.0.1:$PORT >> /nodes/nodemap
+done
+echo yes | redis-cli --cluster create $(seq -f 127.0.0.1:%g 16379 16384) --cluster-replicas 1
+tail -f /redis.log