-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose-development.yaml
132 lines (122 loc) · 3.29 KB
/
docker-compose-development.yaml
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
version: '3.4'
volumes:
mongodb-store:
name: mongodb-store
services:
mongodb: # Consider switching to MongoDB Atlas for production
image: mongo
volumes:
- mongodb-store:/data/db
expose:
- "27017"
ports: # also forward to localhost for debugging via local clients (eg. MongoDB Compass)
- "127.0.0.1:27017:27017"
# add SSL certs for production
reverse-proxy: # HTTPS is not required as long as development happens on "http://localhost:8080"
image: project-persona/reverse-proxy
build:
context: ./services/reverse-proxy
args:
branch: master # front end branch
ports:
- "8080:80" # Development only: listen on 8080 instead of 80
links:
- api-gateway:upstream
depends_on:
- api-gateway
api-gateway:
image: project-persona/infra-executables
build:
context: ./services/infra-executables
args:
branch: master
depends_on:
- service-broker
ports: # also forward to localhost debugging via http clients (eg. Postman)
- "8081:80"
environment:
PORT: "80"
HOST: "0.0.0.0"
BROKER_ADDR: "tcp://service-broker:5555"
expose:
- "80"
command: "start-gateway"
service-broker:
image: project-persona/infra-executables
build:
context: ./services/infra-executables
args:
branch: master
environment:
BROKER_ADDR: "tcp://0.0.0.0:5555"
expose:
- "5555"
command: "start-broker"
microservice-personas:
image: project-persona/microservice-personas
build:
context: ./services/templated-microservice
args:
repo: microservice-personas
branch: master
environment:
BROKER_ADDR: "tcp://service-broker:5555"
MONGO_CONNECTION_STRING: "mongodb://mongodb:27017"
depends_on:
- service-broker
- mongodb
microservice-passwords:
image: project-persona/microservice-notes
build:
context: ./services/templated-microservice
args:
repo: microservice-passwords
branch: master
environment:
BROKER_ADDR: "tcp://service-broker:5555"
MONGO_CONNECTION_STRING: "mongodb://mongodb:27017"
depends_on:
- service-broker
- mongodb
microservice-notes:
image: project-persona/microservice-notes
build:
context: ./services/templated-microservice
args:
repo: microservice-notes
branch: master
environment:
BROKER_ADDR: "tcp://service-broker:5555"
MONGO_CONNECTION_STRING: "mongodb://mongodb:27017"
depends_on:
- service-broker
- mongodb
microservice-emails:
image: project-persona/microservice-emails
build:
context: ./services/templated-microservice
args:
repo: microservice-emails
branch: master
environment:
BROKER_ADDR: "tcp://service-broker:5555"
MONGO_CONNECTION_STRING: "mongodb://mongodb:27017"
depends_on:
- service-broker
- mongodb
smtp-server:
image: project-persona/smtp-server
build:
context: ./services/smtp-server
args:
branch: master
environment:
BROKER_ADDR: "tcp://service-broker:5555"
# add SSL certs for production
expose:
- "25"
ports:
- "25:25"
depends_on:
- service-broker
- microservice-emails