-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsetup-sep.sh
49 lines (42 loc) · 1.63 KB
/
setup-sep.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
USERNAME=$(</dev/urandom tr -dc '12345qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c10; echo "")
PASSWORD=$(</dev/urandom tr -dc '12345qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c20; echo "")
NETWORKNAME="vivonet"
DAEMONNAME="vivo-vivod-1"
SENTINELNAME="vivo-sentinel-1"
DAEMONIMAGE="vivocoin/vivo-vivod"
SENTINELIMAGE="vivocoin/vivo-sentinel"
PUBLICATION="12845:12845"
DOCKERPARAMS=
if [ "$(docker network ls --filter name=$NETWORKNAME -q)" = "" ]
then
docker network create -d overlay $NETWORKNAME
fi
DOCKERPARAMS="$DOCKERPARAMS --network $NETWORKNAME"
MODE="swarm"
if [ "$MODE" = "swarm" ] && ! docker secret ls &>/dev/null
then
MODE="env"
fi
if [ "$MODE" = "swarm" ]
then
if [ "$(docker secret ls | grep vivo-rpcuser)" = "" ]
then
echo $USERNAME | docker secret create vivo-rpcuser -
fi
DOCKERPARAMS="$DOCKERPARAMS --secret vivo-rpcuser"
if [ "$(docker secret ls | grep vivo-rpcpass)" = "" ]
then
echo $PASSWORD | docker secret create vivo-rpcpass -
fi
DOCKERPARAMS="$DOCKERPARAMS --secret vivo-rpcpass"
docker service create $DOCKERPARAMS --name $DAEMONNAME --hostname $DAEMONNAME -p $PUBLICATION $DAEMONIMAGE
docker service create $DOCKERPARAMS --name $SENTINELNAME --hostname $SENTINELNAME -e VIVO_HOSTNAME=$DAEMONNAME $SENTINELIMAGE
else
DOCKERPARAMS="$DOCKERPARAMS -e VIVO_RPCUSER=$USERNAME"
DOCKERPARAMS="$DOCKERPARAMS -e VIVO_RCPPASSWORD=$PASSWORD"
docker create $DOCKERPARAMS --name $DAEMONNAME --hostname $DAEMONNAME -p $PUBLICATION $DAEMONIMAGE
docker start $DAEMONNAME
docker create $DOCKERPARAMS --name $SENTINELNAME --hostname $SENTINELNAME -e VIVO_HOSTNAME=$DAEMONNAME $SENTINELIMAGE
docker start $SENTINELNAME
fi