-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathservice
executable file
·176 lines (170 loc) · 4.01 KB
/
service
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#!/bin/bash
##
if [ -z "$2" ] || [ $1 = "--help" ] || [ $1 = "-h" ]; then
echo
echo "Usage: service start|stop [services]"
echo
echo "You can start/stop multiple services with one call by separating them with space."
echo ""
echo "General databases:"
echo "mongodb -- mongodb available on 27017"
echo "mongodb-6 -- mongodb v6 available on 27017"
echo "mysql -- MySQL available on 3306"
echo "postgres -- PostgreSQL available on 5432"
echo
echo "Message storage:"
echo "rabbitmq -- RabbitMQ available on 5672, 15672"
echo
echo "Key/val stores:"
echo "redis -- redis available on 6379"
echo "dragonfly -- dragonfly available on 6379 (redis alternative)"
echo
echo "Indexing engines:"
echo "elasticsearch -- elasticsearch available on 9200"
echo "opensearch -- opensearch available on 9200 (elasticsearch alternative)"
echo "memcached -- memcached daemon available on 11211"
echo "solr -- solr available on 8983"
echo
echo "Specialised DB:"
echo "tigerbeetle -- tigerbeetle available on 6300"
echo
exit 0
fi
### TODO: Pass version as variable redis -v 1.3.5
### https://docs.docker.com/compose/environment-variables/
# Select if we should start or stop the service
case $1 in
start)
CMD="up -d"
;;
stop)
CMD="down"
;;
esac
PREFIX="COMPOSE_IGNORE_ORPHANS=true"
if hash docker-compose 2>/dev/null; then
COMPOSE_CMD="docker-compose"
else
COMPOSE_CMD="docker compose"
fi
printf "$1: "
for i in "$@"; do
case $i in
start) ;; stop)
shift
;;
memcached)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/memcached-docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
dragonfly)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/dragonfly-docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
redis)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/redis-docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
mongodb)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/mongodb-docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
mongodb@6)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/[email protected] $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
mysql)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/mysql-docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
postgres)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/postgres-docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
solr)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/solr/docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
elasticsearch)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/elasticsearch-docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
opensearch)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/opensearch-docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
rabbitmq)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/rabbitmq-docker-compose.yml $CMD
shift
else
echo "No $1 script yet"
exit 0
fi
;;
tigerbeetle)
if [ ! -z "$CMD" ]; then
$COMPOSE_CMD --file ./databases/tigerbeetle/docker-compose.yml $CMD
shift
else
shift
source databases/tigerbeetle/provision.sh $@
exit 0
fi
;;
*)
echo "Unknown service $i"
shift
;;
esac
done