-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
133 lines (120 loc) · 3.1 KB
/
docker-compose.yml
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
version: '3.7'
services:
message-queue:
image: dockeronwindows/ch05-nats:2e
networks:
- nd-net
elasticsearch:
image: sixeyed/elasticsearch:5.6.11-windowsservercore-ltsc2019
environment:
- ES_JAVA_OPTS=-Xms512m -Xmx512m
volumes:
- es-data:C:\data
networks:
- nd-net
reverse-proxy:
image: sixeyed/traefik:v1.7.8-windowsservercore-ltsc2019
command: --docker --docker.endpoint=npipe:////./pipe/docker_engine --api
ports:
- "80:80"
- "8080:8080"
volumes:
- type: npipe
source: \\.\pipe\docker_engine
target: \\.\pipe\docker_engine
networks:
- nd-net
kibana:
image: sixeyed/kibana:5.6.11-windowsservercore-ltsc2019
labels:
- "traefik.frontend.rule=Host:kibana.nerddinner.local"
depends_on:
- elasticsearch
networks:
- nd-net
nerd-dinner-db:
image: dockeronwindows/ch06-nerd-dinner-db:2e
build:
context: ../ch06-nerd-dinner-db
dockerfile: ./Dockerfile
env_file:
- db-credentials.env
volumes:
- db-data:C:\data
networks:
- nd-net
nerd-dinner-save-handler:
image: dockeronwindows/ch05-nerd-dinner-save-handler:2e
build:
context: ../../ch05
dockerfile: ./ch05-nerd-dinner-save-handler/Dockerfile
depends_on:
- nerd-dinner-db
- message-queue
env_file:
- db-credentials.env
networks:
- nd-net
nerd-dinner-index-handler:
image: dockeronwindows/ch05-nerd-dinner-index-handler:2e
build:
context: ../../ch05
dockerfile: ./ch05-nerd-dinner-index-handler/Dockerfile
environment:
- Elasticsearch:Url=http://elasticsearch:9200
- MessageQueue:Url=nats://message-queue:4222
depends_on:
- elasticsearch
- message-queue
networks:
- nd-net
nerd-dinner-api:
image: dockeronwindows/ch05-nerd-dinner-api:2e
build:
context: ../../ch05/ch05-nerd-dinner-api
dockerfile: ./Dockerfile
labels:
- "traefik.frontend.rule=Host:api.nerddinner.local"
env_file:
- db-credentials.env
depends_on:
- nerd-dinner-db
networks:
- nd-net
nerd-dinner-homepage:
image: dockeronwindows/ch03-nerd-dinner-homepage:2e
build:
context: ../../ch03/ch03-nerd-dinner-homepage
dockerfile: ./Dockerfile
labels:
- "traefik.frontend.rule=Host:nerddinner.local;Path:/,/css/site.css"
- "traefik.frontend.priority=10"
networks:
- nd-net
nerd-dinner-web:
image: dockeronwindows/ch05-nerd-dinner-web:2e
build:
context: ../../ch05/ch05-nerd-dinner-web
dockerfile: ./Dockerfile
labels:
- "traefik.frontend.rule=Host:nerddinner.local;PathPrefix:/"
- "traefik.frontend.priority=1"
- "traefik.backend.loadbalancer.stickiness=true"
environment:
- HomePage:Enabled=false
- DinnerApi:Enabled=true
env_file:
- api-keys.env
- db-credentials.env
depends_on:
- nerd-dinner-db
- message-queue
networks:
- nd-net
networks:
nd-net:
external:
name: nat
volumes:
es-data:
db-data: