-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-run-all.sh
63 lines (56 loc) · 1.55 KB
/
docker-run-all.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#! /bin/sh
echo "loading environment variables from file"
source .env.prod && export $(cut -d= -f1 .env.prod)
# make data folders if not already existing
mkdir -p ./data/{sources,archives}
# make container network
echo "creating data-dj network"
docker network create --driver=bridge data-dj
# redis
echo "starting Redis"
docker run --name data-dj_redis_1 \
--net=data-dj \
--network-alias=redis \
--restart=unless-stopped \
-d \
--restart=unless-stopped \
redis
# mongodb
echo "starting MongoDB"
docker run --name data-dj_db_1 \
--net=data-dj \
--network-alias=db \
--restart=unless-stopped \
-v $(pwd)/mongodb_data:/data/db \
-d \
--restart=unless-stopped \
mongo
# wait for backend services to start
echo "waiting 15s for backend services to be ready"
sleep 15
# api
echo "starting API"
docker run --name data-dj_api_1 \
--net=data-dj \
--network-alias=api \
-p 8765:8765 \
--env-file=$(pwd)/.env.prod \
-v $(pwd)/secrets:/app/secrets:ro \
-v $(pwd)/data:/data-mount \
-d \
--restart=unless-stopped \
registry.ethz.ch/bsunderland/data-dj-images/api:latest
# taskhandler
echo "starting taskhandler"
docker run --name data-dj_taskhandler_1 \
--user=$USER_ID \
--net=data-dj \
--network-alias=taskhandler \
--env-file=$(pwd)/.env.prod \
-v $(pwd)/secrets:/app/secrets:ro \
-v $(pwd)/data:/data-mount \
-d \
--restart=unless-stopped \
registry.ethz.ch/bsunderland/data-dj-images/taskhandler:latest
echo "finished starting services"
docker ps -f name=data-dj*