-
Notifications
You must be signed in to change notification settings - Fork 112
Expand file tree
/
Copy pathboot
More file actions
executable file
·48 lines (44 loc) · 2.5 KB
/
boot
File metadata and controls
executable file
·48 lines (44 loc) · 2.5 KB
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
#!/bin/bash
set -exo pipefail
# container settings
DISCOVERY_PORT=4001
DISCOVERY_PEER_PORT=7001
DISCOVERY_IMAGE=deis/discovery:latest
DISCOVERY_NAME=deis-discovery
REGISTRY_PORT=5000
REGISTRY_IMAGE=deis/registry:latest
REGISTRY_NAME=deis-registry
LOGGER_PORT=514
LOGGER_IMAGE=deis/logger:latest
LOGGER_NAME=deis-logger
DATABASE_PORT=5432
DATABASE_IMAGE=deis/database:latest
DATABASE_NAME=deis-database
CACHE_PORT=6379
CACHE_IMAGE=deis/cache:latest
CACHE_NAME=deis-cache
CONTROLLER_PORT=8000
CONTROLLER_IMAGE=deis/controller:latest
CONTROLLER_NAME=deis-controller
BUILDER_PORT=2222
BUILDER_IMAGE=deis/builder:latest
BUILDER_NAME=deis-builder
# service discovery config
PUBLIC_IP=172.17.42.1 # assuming this stays constant
ETCD=$PUBLIC_IP:4001
# pull images unless already cached
docker history $DISCOVERY_IMAGE >/dev/null 2>&1 || docker pull $DISCOVERY_IMAGE
docker history $REGISTRY_IMAGE >/dev/null 2>&1 || docker pull $REGISTRY_IMAGE
docker history $LOGGER_IMAGE >/dev/null 2>&1 || docker pull $LOGGER_IMAGE
docker history $DATABASE_IMAGE >/dev/null 2>&1 || docker pull $DATABASE_IMAGE
docker history $CACHE_IMAGE >/dev/null 2>&1 || docker pull $CACHE_IMAGE
docker history $CONTROLLER_IMAGE >/dev/null 2>&1 || docker pull $CONTROLLER_IMAGE
docker history $BUILDER_IMAGE >/dev/null 2>&1 || docker pull $BUILDER_IMAGE
# run containers if not running already
docker inspect $DISCOVERY_NAME >/dev/null 2>&1 || docker run -d --name=$DISCOVERY_NAME -p $DISCOVERY_PORT:$DISCOVERY_PORT -p $DISCOVERY_PEER_PORT:$DISCOVERY_PEER_PORT -e PUBLIC_IP=$PUBLIC_IP $DISCOVERY_IMAGE
docker inspect $REGISTRY_NAME >/dev/null 2>&1 || docker run -d --name=$REGISTRY_NAME -p $REGISTRY_PORT:$REGISTRY_PORT -e ETCD=$ETCD -e HOST=$PUBLIC_IP $REGISTRY_IMAGE
docker inspect $LOGGER_NAME >/dev/null 2>&1 || docker run -d --name=$LOGGER_NAME -p $LOGGER_PORT:$LOGGER_PORT -e ETCD=$ETCD -e HOST=$PUBLIC_IP $LOGGER_IMAGE
docker inspect $DATABASE_NAME >/dev/null 2>&1 || docker run -d --name=$DATABASE_NAME -p $DATABASE_PORT:$DATABASE_PORT -e ETCD=$ETCD -e HOST=$PUBLIC_IP $DATABASE_IMAGE
docker inspect $CACHE_NAME >/dev/null 2>&1 || docker run -d --name=$CACHE_NAME -p $CACHE_PORT:$CACHE_PORT -e ETCD=$ETCD -e HOST=$PUBLIC_IP $CACHE_IMAGE
docker inspect $CONTROLLER_NAME >/dev/null 2>&1 || docker run -d --name=$CONTROLLER_NAME -p $CONTROLLER_PORT:$CONTROLLER_PORT -e ETCD=$ETCD -e HOST=$PUBLIC_IP $CONTROLLER_IMAGE
docker inspect $BUILDER_NAME >/dev/null 2>&1 || docker run -d --name=$BUILDER_NAME -p $BUILDER_PORT:22 -e ETCD=$ETCD -e HOST=$PUBLIC_IP --privileged $BUILDER_IMAGE