-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.yml
101 lines (101 loc) · 2.4 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
version: '3.6'
services:
go-server:
container_name: go-server
build:
context: ./
dockerfile: ./Dockerfile-GoServer
image: betchi/go-server
expose:
- 50051 # grpc server insecure
- 50052 # grpc server with tls
ports:
- 50051:50051
- 50052:50052
environment:
- PORT=:50051
- PORT_TLS=:50052
- CRT_PATH=/run/secrets/localhost.crt
- KEY_PATH=/run/secrets/localhost.key
networks:
- grpc-web-test
secrets:
- localhost.crt
- localhost.key
envoy:
container_name: envoy
image: envoyproxy/envoy-alpine-debug:latest
volumes:
- ./envoy/envoy.yaml:/etc/envoy/envoy.yaml
expose:
- 8080 # proxy
- 9901 # admin ui
ports:
- 8080:8080
- 9901:9901
links:
- go-server
networks:
- grpc-web-test
nginx-grpc-web:
container_name: nginx
# image: nginx:1.15.5
image: grpcweb/nginx
expose:
- 8081 # http
- 8082 # grpc proxy for http
- 8083 # ssl http2
- 8084 # grpc proxy for ssl http2
ports:
- 8081:8081
- 8082:8082
- 8083:8083
- 8084:8084
volumes:
- ./nginx/nginx.conf:/github/grpc-web/gConnector_static//conf/nginx.conf
- ./ts-client/dist:/var/www/html
links:
- go-server
networks:
- grpc-web-test
secrets:
- localhost.crt
- localhost.key
kong:
container_name: kong
image: kong:0.14.1
environment:
- KONG_DATABASE=cassandra
- KONG_CASSANDRA_CONTACT_POINTS=kong-database
- KONG_DB_UPDATE_PROPAGATION=1
- KONG_PROXY_ACCESS_LOG=/dev/stdout
- KONG_ADMIN_ACCESS_LOG=/dev/stdout
- KONG_PROXY_ERROR_LOG=/dev/stderr
- KONG_ADMIN_ERROR_LOG=/dev/stderr
- KONG_PROXY_LISTEN=0.0.0.0:8000, 0.0.0.0:8443 ssl http2
- KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl http2
- KONG_SSL_CERT=/run/secrets/localhost.crt
- KONG_SSL_CERT_KEY=/run/secrets/localhost.key
expose:
- 8000 # proxy
- 8001 # admin proxy
- 8443 # proxy ssl http2
- 8444 # admin ssl http2
ports:
- 8000:8000
- 8443:8443
- 8001:8001
- 8444:8444
networks:
- grpc-web-test
secrets:
- localhost.crt
- localhost.key
networks:
grpc-web-test:
external: true
secrets:
localhost.crt:
file: ./tls/localhost.crt
localhost.key:
file: ./tls/localhost.key