forked from ShahinSorkh/laravel-cassandra
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun
executable file
·70 lines (61 loc) · 2.23 KB
/
run
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
DOCKER_CASSANDRA="cassandra"
DOCKER_LACASSA_IMAGE="shahinsorkh/lacassa:v0.1.1"
DOCKER_NETWORK="--network=container:$DOCKER_CASSANDRA"
if [ ! -z "$SUDO_USER" ]; then
U="$SUDO_USER"
elif [ ! -z "$USER" ]; then
U="$USER"
else
U="$(whoami)"
fi
DOCKER_USER=$(awk -F':' "/^$U/ {print \$3\":\"\$4}" /etc/passwd)
if [ -z "$NO_CHECK" ]; then
if ! ( docker ps >/dev/null 2>/dev/null ); then
echo '[ERR] Could not connect to docker daemon socket' >&2
echo ' Retry with root access' >&2
exit 1
fi
if [ ! -d vendor ]; then
docker run \
--interactive --tty \
--user $DOCKER_USER \
--workdir /lacassa \
--volume "$(pwd):/lacassa:z" \
$DOCKER_LACASSA_IMAGE composer install --prefer-dist -o
fi
if ! ( docker container ps | awk '{print $NF}' | grep cassandra -c >/dev/null 2>/dev/null ); then
echo '-=-=-=-! No cassandra server found!' >&2
echo '-=-=-=- Running one..'
docker run --detach \
--volume $DOCKER_CASSANDRA:/var/lib/cassandra \
--name=$DOCKER_CASSANDRA \
cassandra:3 && \
echo '-=-=-=- Retry after a few minutes'
exit $?
fi
if ! ( docker run $DOCKER_NETWORK cassandra:3 cqlsh -k testing -e 'exit' ); then
echo '-=-=-=-! Keyspace testing not found!' >&2
echo '-=-=-=- Creating one..'
docker run $DOCKER_NETWORK \
cassandra:3 cqlsh -e "CREATE KEYSPACE IF NOT EXISTS testing WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true;"
if [ "$?" = "0" ]; then
echo '-=-=-=- Keyspace created'
echo '-=-=-=- Filling database with fake data..'
docker run $DOCKER_NETWORK \
--interactive --tty \
--user $DOCKER_USER \
--workdir /lacassa \
--volume "$(pwd):/lacassa:z" \
$DOCKER_LACASSA_IMAGE php prepare_db.php && \
echo '-=-=-=- Done.'
fi
exit $?
fi
fi
docker run $DOCKER_NETWORK \
--interactive --tty \
--user $DOCKER_USER \
--workdir /lacassa \
--volume "$(pwd):/lacassa:z" \
$DOCKER_LACASSA_IMAGE $@