-
Notifications
You must be signed in to change notification settings - Fork 6
/
docker-compose.https.yml
139 lines (135 loc) · 3.18 KB
/
docker-compose.https.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
134
135
136
137
138
139
version: "3.5"
networks:
backend:
volumes:
dbms_storage:
nginx_logs:
goaccess_report:
search_storage:
doc_storage:
secrets:
ssl_cert:
file: ./nginx/tdm.cisco.com.crt
ssl_key:
file: ./nginx/tdm.cisco.com.key
services:
dbms:
image: arangodb/arangodb:latest
volumes:
- type: volume
source: dbms_storage
target: /var/lib/arangodb3
volume:
nocopy: true
expose:
- "8529"
environment:
- ARANGO_ROOT_PASSWORD=tdm
networks:
- backend
etl:
image: tdm/etl
build: etl/
volumes:
- type: bind
source: ./etl/cache/extract
target: /data/extract
- type: bind
source: ./etl/cache/transform
target: /data/transform
networks:
- backend
web:
image: tdm/web
build: web/
expose:
- "80"
environment:
- FLASK_ENV=production
networks:
- backend
doc:
image: tdm/doc
build: doc/
volumes:
- type: volume
source: doc_storage
target: /data/docs/.vuepress/dist
nginx:
image: nginx:alpine
ports:
- target: 443
published: 443
protocol: tcp
mode: host
- target: 8529
published: 8529
protocol: tcp
mode: host
- target: 80
published: 80
protocol: tcp
mode: host
- target: 5601
published: 5601
protocol: tcp
mode: host
networks:
- backend
volumes:
- type: volume
source: nginx_logs
target: /var/log/nginx
- type: volume
source: goaccess_report
target: /srv/goaccess
read_only: true
- type: volume
source: doc_storage
target: /srv/doc
read_only: true
- "./nginx/nginx.https.conf:/etc/nginx/nginx.conf:ro"
secrets:
- source: ssl_cert
target: tdm.cisco.com.crt
- source: ssl_key
target: tdm.cisco.com.key
goaccess:
image: allinurl/goaccess:latest
entrypoint: sh -c "while true; do goaccess --no-global-config --config-file=/srv/data/web.conf && goaccess --no-global-config --config-file=/srv/data/dbms.conf && goaccess --no-global-config --config-file=/srv/data/kibana.conf; sleep 60; done"
networks:
- backend
volumes:
- type: volume
source: nginx_logs
target: /srv/logs
read_only: true
- type: volume
source: goaccess_report
target: /srv/report
- "./nginx/goaccess_web.conf:/srv/data/web.conf:ro"
- "./nginx/goaccess_dbms.conf:/srv/data/dbms.conf:ro"
- "./nginx/goaccess_kibana.conf:/srv/data/kibana.conf:ro"
search:
image: docker.elastic.co/elasticsearch/elasticsearch:6.4.0
environment:
- cluster.name=tdm
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
ulimits:
memlock:
soft: -1
hard: -1
networks:
- backend
volumes:
- type: volume
source: search_storage
target: /usr/share/elasticsearch/data
kibana:
image: docker.elastic.co/kibana/kibana:6.4.0
environment:
ELASTICSEARCH_URL: http://search:9200
networks:
- backend