-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
107 lines (100 loc) · 2.31 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
version: "3"
services:
api:
build: ./dockerfiles/api/
logging:
driver: "${API_LOGGING_DRIVER}"
depends_on:
- couchdb
expose:
- "8080"
# TODO: use docker-compose file override for stateful production containers
# with application code and node_modules within the container
volumes:
- ./src/api/:/home/app/api/
- ./src/asport/:/home/app/asport/
- ./src/autoscopy/:/home/app/autoscopy/
environment:
- NODE_ENV
- HOSTNAME=api
- API_COLLECTIONS
- COUCHDB_HOSTNAME=couchdb
- COUCHDB_DATABASE
- COUCHDB_USER
- COUCHDB_PASSWORD
- COUCHDB_PORT=5984
couchdb:
build: ./dockerfiles/couchdb/
logging:
driver: "${COUCHDB_LOGGING_DRIVER}"
expose:
- "5984"
volumes:
- couchdb:/opt/couchdb/data
environment:
- COUCHDB_USER
- COUCHDB_PASSWORD
- NODENAME="${COUCHDB_NODENAME}"
haproxy:
build: ./dockerfiles/haproxy/
logging:
driver: "${HA_LOGGING_DRIVER}"
restart: on-failure
ports:
- "80:80"
- "443:443"
volumes:
- devcerts:/opt/haproxy/certs
environment:
- CERTS_PATH=/opt/haproxy/certs
- DOMAIN
- HA_STATS_USER
- HA_STATS_PASSWORD
- HA_STATS_PATH
- ES_USER
- ES_PASSWORD
redis:
build: ./dockerfiles/redis/
logging:
driver: "${REDIS_LOGGING_DRIVER}"
ports:
- "6379"
volumes:
- redis:/data
command: "redis-server /usr/local/etc/redis/redis.conf --requirepass $REDIS_PASSWORD --loglevel debug --bind redis"
environment:
- REDIS_PASSWORD
elasticsearch:
build: ./dockerfiles/elasticsearch/
logging:
driver: "${ES_LOGGING_DRIVER}"
ports:
- "9200"
- "9300"
volumes:
- elasticsearch:/usr/share/elasticsearch/data
environment:
- ES_JAVA_OPTS
logstash:
build: ./dockerfiles/logstash
logging:
driver: "${LS_LOGGING_DRIVER}"
environment:
- LS_JAVA_OPTS
- LS_HEAP_SIZE
- COUCHDB_DATABASE
- COUCHDB_USER
- COUCHDB_PASSWORD
volumes:
couchdb:
external:
name: poltergeist_couchdb
redis:
external:
name: poltergeist_redis
elasticsearch:
external:
name: poltergeist_elasticsearch
devcerts:
external:
name: poltergeist_devcerts