-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdocker-compose.yml
66 lines (66 loc) · 2.37 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
version: '3'
services:
nginx_proxy:
image: nginx
ports:
- 127.0.0.1:4400:4400
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
links:
- ui
- apise
ui:
build:
context: ui
dockerfile: Dockerfile.local
volumes:
- ./ui:/ui
# See https://stackoverflow.com/a/32785014 for why this is needed.
- /ui/node_modules
# Can't use "api" because it maps to something else on Google network.
# Use "apise" for "api server". ("apis" is also taken.)
apise:
build:
# Run from project root to pick up dataset_config/.
context: .
dockerfile: api/Dockerfile
ports:
- 127.0.0.1:8390:8390
volumes:
# Mount the python source so that code changes don't require rebuilding
# the image. Changes to requirements.txt will still require rebuilds.
- ./api/data_explorer:/app/data_explorer
# Expose gcloud credentials. This is only needed for
# local deployment, which is authenticated as a user. This is not needed
# for GAE deployment, which is authenticated as service account. (The
# service account credentials are automatically picked up.)
- ~/.config/gcloud:/root/.config/gcloud
# --reload will restart the server after code change
command: ["-b", ":8390", "--reload"]
environment:
# Needed to keep the samples file name unique across users.
- USER
# GOOGLE_APPLICATION_CREDENTIALS is only needed for CircleCI
- GOOGLE_APPLICATION_CREDENTIALS
- ELASTICSEARCH_URL=${ELASTICSEARCH_URL:-elasticsearch:9200}
- PATH_PREFIX=/api
- DATASET_CONFIG_DIR=${DATASET_CONFIG_DIR:-dataset_config/1000_genomes}
# Avoid writing .pyc files back to the volume. Files generated this way
# have restricted permissions set which cause errors on subsequent docker
# builds.
- PYTHONDONTWRITEBYTECODE=1
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.2
ports:
- 127.0.0.1:9200:9200
environment:
# Disable bootstrap checks so users don't have to fiddle with
# vm.max_map_count. Note that this file is not used in production
# deployments; bootstrap checks are still enabled for production
# deployments.
- "transport.host=localhost"
- ES_JAVA_OPTS
kibana:
image: docker.elastic.co/kibana/kibana-oss:6.2.2
ports:
- 127.0.0.1:5601:5601